(EKS) EKS Auto Mode 클러스터 생성 및 관리

ALSWL·2025년 4월 1일
post-thumbnail

AWS Management Console 또는 AWS CLI를 사용하여 Amazon EKS 클러스터를 생성합니다. 클러스터 구성 스크립트를 작성하여 자동화하고, 클러스터 관리 대시보드를 통해 클러스터 상태를 모니터링합니다. 생성된 클러스터의 리소스를 관리하고, 대시보드 스크린샷을 통해 관리 현황을 확인합니다.

나는 AWS CLI를 사용하여 클러스터를 생성하기로 했다.

EKS 클러스터 3가지 운영방식

EKS Auto Mode 클러스터 (Amazon EKS Auto Mode)

완전 자동화된 클러스터

📌 특징

AWS가 모든 클러스터 및 노드 관리를 자동으로 수행
AWS Fargate 기반 또는 EC2 노드 그룹을 자동 관리
eksctl create cluster --auto 명령어 하나로 배포 가능

📌 사용 사례

빠르게 Kubernetes 클러스터를 생성해야 하는 경우
운영 부담을 최소화하고 싶은 경우
작은 규모의 애플리케이션을 실행할 때

일반 EKS 클러스터 (Amazon EKS Managed)

AWS가 제어 플레인을 관리하고, 워커 노드는 사용자가 직접 설정

📌 특징

EKS 제어 플레인은 AWS가 관리하지만, 워커 노드는 사용자가 직접 구성
EC2 기반 노드 그룹, Fargate, Spot 인스턴스 등 다양한 옵션 사용 가능
VPC, 네트워크 설정, IAM 역할 등을 사용자가 직접 구성

📌 사용 사례

GPU 또는 고성능 EC2 인스턴스가 필요한 경우
커스텀 네트워크 설정이 필요한 경우
기업용 Kubernetes 클러스터를 운영할 때

AWS Outposts에서 실행하는 EKS (Amazon EKS on Outposts)

✅ 온프레미스에서 AWS 관리형 Kubernetes 사용

📌 특징

AWS Outposts 하드웨어에서 EKS를 실행
온프레미스 환경에서도 AWS EKS와 동일한 관리 기능 사용 가능
네트워크 연결이 제한된 환경에서도 Kubernetes 운영 가능

📌 사용 사례

온프레미스 환경에서 Kubernetes 클러스터를 운영해야 할 때
데이터 주권(데이터가 특정 지역을 벗어나지 않아야 하는 경우)이 필요한 경우
저지연(Low Latency) 처리가 중요한 경우

시작

aws --version : cli 설치 유무 확인
brew install awscli : 설치 안되었다면 설치
aws configure : aws 계정 연결
aws sts get-caller-identity : 설정 확인

kubectl 설치(mac)

brew install kubectl : 설치
kubectl version --client : 설치 후 버전 확인

eksctl 설치 확인

which eksctl
eksctl version
// 출력이 없으면 설치 안된 것.

eksctl 설치 (Mac)

brew install eksctl : 설치
eksctl version : 버전 확인

클러스터 생성

eksctl create cluster --name prectice --enable-auto-mode : name 부분 변경 가능

결과


eksctl을 이용한 클러스터 자동화 스크립트를 작성

EKS 클러스터, 볼륨 삭제

yaml파일삭제

EC2 인스턴스 종료후 볼륨 삭제
인스턴트 종료
for instance in i-0db474d9ee77d24f1 i-0be4d335c7feb142a i-05664a6e495c0b3d8 i-0eee0f81a28a966c0 i-0cb2a3671b342bf27 i-01f0b36accc9c7d28 i-054c43183672ba733 i-026f739ca6f424af2; do
aws ec2 terminate-instances --instance-ids $instance
done

확인 : terminated면 ok, shutting-down이면 몇분 후 다시 실행
aws ec2 describe-instances --query "Reservations[*].Instances[*].{ID:InstanceId,State:State.Name}"

볼륨 삭제
for vol in vol-034966340902a50ee vol-0810ad808c7d4bdbf vol-04948413e4adecd1c vol-05d844247888283e3 vol-027945b8bc1c2da4a vol-002fb98aada6a5a0a vol-08349fb7bf0e4120f vol-0ff3f8aac77788f5f; do
aws ec2 delete-volume --volume-id $vol
done
최종 확인
aws ec2 describe-instances
aws ec2 describe-volumes
aws eks list-clusters
aws ec2 describe-snapshots --owner-id self
aws ec2 describe-addresses
aws ec2 describe-security-groups

아무것도 뜨지 않으면 성공

0개의 댓글