안녕하세요, 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 |
---|