📌 EKS 클러스터 구성 방법 3가지 1. eksctl CLI를 이용해 root 권한으로 yaml 파일 생성 및 실행 2. 콘솔을 통해 클러스터 구성 ← 사전에 role 생성 필요 3. 일반 사용자 권한으로 사용자 키를 이용해 인증 후 스크립트 실행 → 버전 변경 후 불안정한 방식, 거의 사용 X
이번에는 두 번째 방법인 AWS 콘솔을 통해 클러스터를 구성해보겠습니다.
그러기 위해서는 우선 사전 작업으로 두 개의 IAM 역할을 생성해주어야 합니다.
1) IAM 역할 생성
✔️ eks-clusterRole 역할 생성
역할을 생성하고 다음 권한을 추가합니다.
- AmazonEKSClusterPolicy
IAM 역할 생성
사용 사례: EKS - Cluster 선택
AmazonEKSClusterPolicy 권한 추가역할 이름과 설명 추가선택한 권한이 잘 들어갔는지 확인
✔️ nodeRole 역할 생성
같은 방식으로 IAM 역할을 생성하되, 다음의 3가지 권한을 추가합니다.
- AmazonEC2ContainerRegistryReadOnly
- AmazonEKSWorkerNodePolicy
- AmazonEKS_CNI_Policy
nodeRole 권한 추가
2) EKS 클러스터 생성
EKS - 클러스터 - EKS 클러스터 생성: 생성한 cluster 역할 부여
VPC 및 subnet 선택 (private subnet 선택)
Kubernetes 서비스 IP 주소 범위 구성 옵션을 활성화하면 클러스터에 IP 범위를 CIDR로 지정할 수도 있습니다.
퍼블릭 및 프라이빗으로 엔드포인트 액세스 설정
3) 노드 그룹 추가
클러스터 활성화 시 컴퓨팅 - 노드 그룹 추가
선택한 nodeRole 역할 부여
컴퓨팅 및 조정 구성 설정
노드 수 지정
private subnet 선택
4) 인스턴스 생성 확인
컴퓨팅 - 노드에 준비 완료 상태로 잘 올라온 것을 확인 가능
📌 콘솔에서 생성한 node를 CLI로 확인할 수 없는 경우 해결 방법
콘솔에서 클러스터를 만들 경우 CloudFormation 에서 확인이 불가능 → 현업에서는 콘솔보다 CLI를 통해 설치 및 클러스터를 구성
case 1. 여러 cluster가 존재하는 경우 context 전환을 하지 않았을 경우
aws eks --region ap-northeast-2 update-kubeconfig --name k8s-cluster
# k8s-cluster 라는 이름의 클러스터로 context 전환
kubectl get nodes