안녕하세요, heyjee 입니다 .

이번에는 AWS 대시보드에서 EKS 클러스터 및 노드를 직접 생성해보기로 하겠습니다 .

 

그전에, 다음의 네 가지 tool 을 install 및 apply 가 필요합니다 .

 > AWS CLI
 > aws configure 을 통한 IAM
 > kubectl
 > eksctl

 

여기서 kubectl 과 eksctl 의 차이점은 ...

 kubectl : k8s 클러스터 작업을 위한 명령줄 tool
 eksctl : 개벌 태스크를 자동화하는 EKS 클러스터를 사용하기 위한 명령줄 tool

 

install 및 apply 가 완료되었다면, 본격적으로 생성해보도록 하겠습니다 .

 

1. EKS 클러스터용 Role 을 생성합니다 .

2. EKS 노드그룹용 Role 을 생성합니다 .

 

3. 심플한 VPC 환경 구성을 위해 CloudFormation 으로 스택을 생성합니다 .

 

4. 본격적으로 다음과 같이 EKS 클러스터를 구성합니다 .

(이 때, 서브넷은 2개의 private subnet 으로 설정합니다 .)

 

5. 생성 및 활성화된 클러스터를 확인합니다 . 

 

6. (AWS CLI, kubectl 사전 Install 후)

'kubectl get pod --all-namespaces' 명령어를 통해 클러스터가 생성되었는지 확인합니다 .

> 현재 생성되어 있는 coredns ~ 이름의 클러스터 2개의 status 가 Pending (보류중) 상태입니다 .
이것은 클러스터만 생성했을 뿐, 아직 그 안에 노드를 생성하지 않았기 때문입니다 .
따라서, 노드도 생성을 해주어야 합니다 .

 

 

7. 클러스터 안에 들어갈 노드 그룹을 구성합니다 .

(마찬가지로, 서브넷은 2개의 private subnet 으로 설정합니다 .)

8. 원하는 개수만큼의 노드가 생성 및 활성화되었는지 확인합니다 . 

 

9. 다시 'kubectl get pod --all-namespaces' 명령어를 통해 노드가 생성되었는지 확인합니다 .

kube-system 네임스페이스 안에 aws-node ~ 이름의 노드 2개와 각 노드에 대한 kube-proxy Static Pod 가 생성되어 클러스터의 status 가 Running 상태로 바뀐 것을 확인할 수 있습니다 .

이렇게 생성된 해당 노드에 ssh 접속하여 각종 k8s 리소스 생성을 통한 아키텍처 구축 진행이 가능합니다 .

 

여기까지가 AWS 대시보드를 통한 단일 클러스터 생성 과정이었습니다 .

당연한 말이겠지만, 단일 뿐만 아니라 멀티 클러스터 생성 및 구축도 가능합니다 .

(예를 들면, 배포 환경 setting 시, DEV / STG/ PRD 각각에 서로 다른 클러스터로 구축)

 

한 가지 또 말씀드리고 싶은 것은, 맨 위에서 언급한 eksctl 을 설치했다면 해당 명령어에 의한 imperative command 방식으로 일련의 작업이 가능합니다 . 실무에서는 eksctl 을 통해 구축 작업이 이루어진다고 선배님께서 말씀해주시기도 하셨네요 ~

그래서 !!! 다음 3편에서는 eksctl 명령어를 통한 기본 구축을 한 번 해보도록 하겠습니다 .

 

혹시 수정이 되어야 할 부분이 있다면 얼마든지 코멘트 대환영입니다 . 감사합니다 :)

'AWS' 카테고리의 다른 글

1. What is EKS (Elastic Kubernetes Service) ?  (0) 2021.11.27

+ Recent posts