티스토리 뷰

Cloud/AWS

[AWS EC2] EKS 시작하기(3): AWS 콘솔 구성

나미의 로그포스 2023. 6. 6. 17:59
📌 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


위 명령어로도 node 확인이 불가능하다면 ? — 로그인 에러 발생했을 가능성 존재 !

case 2. aws configure 인증 오류

aws configure
# root 계정의 key를 이용해 인증

 

kubectl get nodes 성공

 

 

5) nginx 서버 접속 테스트

 

전체 namespace 확인

 

nginx 이미지로 컨테이너를 5개 생성한 후 실행하는 간단한 테스트를 진행해보겠습니다.

 

kubectl create deployment webtest --image=nginx:1.14 --port=80 --replicas=5

 

nginx 컨테이너 5개 생성 및 실행

 

생성한 nginx 웹서버에 client 접속이 가능하도록 로드 밸런서 서비스를 생성해줍니다.

 

kubectl expose deployment webtest --port=80 --type=LoadBalancer

kubectl get deployments.apps,pod,svc

 

로드 밸런서 서비스 생성

 

서비스 생성 확인

 

생성한 로드 밸런서의 External IP로 접속 시 nginx 서버가 잘 올라오는 것을 확인할 수 있습니다.

 

로드 밸런서를 통해 접속

 

 

6) 클러스터 삭제

 

eksctl delete cluster --name [CLUSTER_NAME]

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함