EKS Auto Mode를 이용한 클러스터 생성
안녕하세요.
9개 프로젝트로 경험하는 대용량 트래픽 & 데이터 처리 강의의 Part 9과 백엔드 개발자를 위한 Kubernetes: 클라우드 네이티브 프로그래밍 강의의 Part 3를 담당한 허준 입니다.
해당 강의에서는 쿠버네트스 환경에서의 실습을 위해 AWS의 EKS 환경을 사용하고 있는데, 이 AWS의 EKS 환경에 2024년 12월 Auto Mode가 도입되면서 전체적인 구성과 설정, UI가 크게 바뀌어 수강생 분들이 환경 구성에 어려움을 겪고 있는 것으로 알고 있습니다. 이에 대해 기존 강의에서 AWS 환경 구성 하는 부분을 Auto Mode 업데이트에 맞추어 업데이트 하였습니다. 업데이트 된 내용은 아래 링크에서 확인하실 수 있습니다.
https://github.com/dev-online-k8s/part3-infra
간략하게 배경 설명을 드리자면, EKS Auto Mode의 경우 AWS에서 제공하는 쿠버네티스 클러스터인 EKS의 컨트롤 플레인의 설정과 관리가 다소 복잡했던 기존 구성의 어려움을 극복하고자, 클러스터 및 노드, 네트워크, 스토리지 자원등의 생성과 관리를 완전히 AWS에서 자동으로 해주어서 사용자가 클러스터를 단순하게 사용할 수 있도록 지원해주는 모드입니다. 특히, 노드의 경우 Karpenter를 적극적으로 활용하여 노드 수량의 확장이나 축소에 신경쓰지 않아도 자동으로 AWS에서 관리해줄 수 있도록 환경을 구성해주고 있습니다. 다만 위에 전달드린 가이드에서는 기존 강의 내용과 지나치게 많은 부분이 달라지지 않도록, EKS Auto Mode에서 자동으로 클러스터와 권한들을 생성하고 설정해주는 부분은 사용하되, 노드의 생성은 기존과 동일하게 직접 관리형 노드를 생성할 수 있도록 가이드하고 있으니 참고 부탁드리겠습니다. 특히 EKS Auto Mode로 클러스터를 생성하면 Ingress 설정을 위해서 별도의 로드밸런서 컨트롤러를 설정하지 않아도 되기 때문에 설정이 매우 간편해지는 장점이 있습니다. 따라서 수강생 분들은 환경 설정에 지나치게 많은 시간을 쓰기 보다는 강의 자체에 집중하실 수 있도록 가급적이면 업데이트된 환경을 이용하여 강의를 진행하시는 것을 추천드리겠습니다.
다만 EKS Auto Mode를 이용할 경우 클러스터에서 자동 생성되어 사용하는 별도의 노드들도 있고, 기본적으로 자동 관리되는 노드의 사용 비용이 기존 EC2 비용에 비해 10% 정도 비싸기도 합니다. EKS에서 실습을 진행할 경우 다수의 노드를 생성하여 장기간 클러스터를 방치할 경우 생각보다 많은 비용이 부과될 수도 있기 때문에 가급적이면 전체 실습과정은 집중력있게 한 번에 진행하시고 이후 클러스터를 삭제하시는 것을 권장드립니다. 부과되는 비용은 시기에 따라, 사용하는 노드 수량에 따라 다르지만 대략 하루에 5달러에서 10달러 사이의 비용이 청구될 수 있습니다. 해당 비용이 부담스러우신 분들은 로컬 환경에서 Docker Desktop의 kubernetes 기능 혹은 kind나 k3s 등의 로컬 클러스터 환경을 사용하여도 실습을 거의 동일하게 진행하실 수 있으니 참고 부탁드리겠습니다.