콘텐츠로 이동

Lab: EKS Cluster Setup

실습 코드는 labs/week1/에 있습니다.

Initialize

cd labs/week1
terraform init

Bootstrapping

Select Endpoint Access Mode

terraform apply -var-file=public.tfvars
terraform apply -var-file=public_and_private.tfvars
terraform apply -var-file=private.tfvars

VPC 외부에서 kubectl 사용 불가

퍼블릭 엔드포인트가 없으므로 인터넷에서 API 서버에 직접 접근할 수 없습니다. SSM Session Manager로 워커 노드에 접속한 후 kubectl을 사용합니다.

SSM으로 워커 노드에 접속합니다.

# 실행 중인 노드의 Instance ID 조회
INSTANCE_ID=$(aws ec2 describe-instances \
  --filters "Name=tag:eks:cluster-name,Values=$CLUSTER_NAME" \
            "Name=instance-state-name,Values=running" \
  --query "Reservations[0].Instances[0].InstanceId" \
  --output text)

# SSM Session Manager로 접속
aws ssm start-session --target $INSTANCE_ID

접속 후 kubeconfig를 설정하고 kubectl을 사용합니다.

sudo su -
aws eks update-kubeconfig --region ap-northeast-2 --name $CLUSTER_NAME
kubectl get nodes

Cleanup

terraform destroy -var-file=public.tfvars
terraform destroy -var-file=public_and_private.tfvars
terraform destroy -var-file=private.tfvars