EKS 클러스터를 생성한 후에는 클러스터에 액세스하기 위한 구성이 필요합니다. 이 섹션에서는 클러스터 액세스를 구성하는 방법을 알아보겠습니다.
클러스터 액세스 구성 프로세스
EKS 클러스터에 액세스하려면 kubeconfig 파일을 구성해야 합니다. AWS CLI를 사용하여 kubeconfig를 구성할 수 있습니다:
이 명령은 ~/.kube/config 파일을 업데이트하여 EKS 클러스터에 액세스할 수 있도록 합니다.
IAM 사용자 및 역할 액세스 구성
기본적으로 EKS 클러스터를 생성한 IAM 엔터티(사용자 또는 역할)만 클러스터에 액세스할 수 있습니다. 다른 IAM 사용자 또는 역할에 클러스터 액세스 권한을 부여하는 방법에는 두 가지가 있습니다: 전통적인 aws-auth ConfigMap 방식과 새로운 EKS Access Entry 방식입니다.
방법 1: EKS Access Entry (권장)
EKS Access Entry는 aws-auth ConfigMap을 대체하는 새로운 방식으로, 더 안정적이고 관리하기 쉬운 방법을 제공합니다.
클러스터에 대한 Access Entry 활성화:
IAM 역할에 대한 Access Entry 생성:
IAM 사용자에 대한 Access Entry 생성:
방법 2: aws-auth ConfigMap (레거시)
aws-auth ConfigMap은 전통적인 방식으로, 여전히 지원되지만 새로운 클러스터에서는 Access Entry 사용을 권장합니다.
현재 aws-auth ConfigMap 가져오기:
aws-auth.yaml 파일을 편집하여 사용자 또는 역할을 추가합니다:
참고: EKS Access Entry는 2023년에 도입된 기능으로, 새로운 클러스터에서는 Access Entry 사용을 권장합니다. 기존 클러스터는 두 방식을 모두 지원하는 하이브리드 모드로 마이그레이션할 수 있습니다.
Kubernetes 역할 기반 액세스 제어(RBAC)를 사용하여 클러스터 내 리소스에 대한 액세스를 제어할 수 있습니다.
EKS 클러스터를 생성한 후에는 클러스터가 올바르게 작동하는지 확인해야 합니다. 이 섹션에서는 클러스터를 검증하는 방법을 알아보겠습니다.
클러스터의 노드를 확인합니다:
모든 노드가 Ready 상태인지 확인합니다.
kube-system 네임스페이스의 포드를 확인합니다:
모든 시스템 포드가 Running 상태인지 확인합니다.
간단한 테스트 애플리케이션을 배포하여 클러스터가 올바르게 작동하는지 확인합니다:
배포 및 서비스 상태를 확인합니다:
LoadBalancer 서비스의 외부 IP를 사용하여 애플리케이션에 액세스할 수 있는지 확인합니다:
CloudWatch Logs에서 클러스터 로그를 확인합니다:
EKS 클러스터를 최신 상태로 유지하려면 정기적으로 업그레이드해야 합니다. 이 섹션에서는 클러스터를 업그레이드하는 방법을 알아보겠습니다.
클러스터 업그레이드 프로세스
EKS 컨트롤 플레인을 업그레이드하려면 다음 단계를 따릅니다:
컨트롤 플레인을 업그레이드한 후에는 노드도 업그레이드해야 합니다:
관리형 노드 그룹 업그레이드
자체 관리형 노드 업그레이드
자체 관리형 노드의 경우 새 노드 그룹을 생성하고 워크로드를 마이그레이션한 후 이전 노드 그룹을 삭제해야 합니다.
EKS 애드온을 업그레이드하려면 다음 단계를 따릅니다:
EKS 클러스터가 더 이상 필요하지 않은 경우 삭제하여 비용을 절약할 수 있습니다. 이 섹션에서는 클러스터를 삭제하는 방법을 알아보겠습니다.
클러스터를 삭제하기 전에 클러스터에서 생성한 모든 리소스를 정리해야 합니다:
PersistentVolumeClaim 삭제:
eksctl을 사용한 클러스터 삭제
eksctl을 사용하여 클러스터를 생성한 경우 다음 명령을 사용하여 삭제할 수 있습니다:
AWS CLI를 사용한 클러스터 삭제
AWS CLI를 사용하여 클러스터를 삭제하려면 다음 단계를 따릅니다:
EKS 클러스터를 삭제한 후에도 다음과 같은 관련 리소스가 남아 있을 수 있습니다:
이 장에서 배운 내용을 테스트하려면 EKS 클러스터 생성 - 5부 퀴즈를 풀어보세요.