EKS 클러스터를 eksctl 명령어를 통하여 셋업하는 방법을
간략하게 정리해보도록 하겠습니다.
AWS console 페이지에서도 EKS를 직접 생성할 수 있지만,
eksctl을 활용하는 경우 쿠버네티스 업데이트 내역과의 호환성이 더 좋아
명령어를 통하여 EKS 클러스터를 생성하는 방법을 권장드립니다.
1. AWS CLI 인증
우선, 사용할 AWS 계정의 CLI 인증이 되어 있어야 합니다.
만일, STS 인증을 사용할 경우 작업 자동화 관련 글이 있으니 참고해보시면 좋습니다.
2. eksctl 설치
만일, eksctl이 설치되어있지 않은 경우라면, 먼저 설치 과정이 필요합니다.
설치 과정은 운영체제에 따라 다른데, 아래의 공식 페이지에 확인이 가능합니다.
3. 쿠버네티스 최신 버전 확인
쿠버네티스의 최신 버전이 몇 버전인지를 미리 확인하면,
추후 설치 과정에서 도움이 됩니다.
가장 좋은 방법은 AWS의 EKS 페이지 내에서 Add Cluster 메뉴로 들어가시면,
최신 버전이 몇 버전인지 확인이 가능합니다.
4. 클러스터 생성
eksctl로 EKS 클러스터를 생성하는 명령어를 정리해보도록 하겠습니다.
여기서는 노드 그룹은 추후에 따로 생성하는 과정을 가정하겠습니다.
public-subnet과 private-subnet에 해당하는 subnet id를 포함하여
아래와 같이 적어주시면 됩니다.
eksctl create cluster \
--name eks-cluster-name \ # 클러스터 이름
--version 1.28 \ # 최신 버전 권장
--vpc-private-subnets subnet-aaaaaa01234567890,subnet-bbbbbb01234567890,subnet-cccccc01234567890 \
--vpc-public-subnets subnet-dddddd01234567890,subnet-eeeeee01234567890,subnet-ffffff01234567890 \
--without-nodegroup
5. 노드 그룹 생성
이제 클러스터 내에 노드 그룹을 생성해주어야 합니다.
생성을 위한 명령어의 예시는 아래와 같습니다.
eksctl create nodegroup \
--cluster eks-cluster-name \ # 위에서 생성했던 클러스터 이름
--name nodegroup-name \ # 노드 그룹 이름
--node-type t3.medium \
--nodes 1 \
--nodes-min 1 \
--nodes-max 2 \
--node-private-networking
여기서, node-private-networking 옵션은 꼭 넣어주는 것이 private-subnet 통신 과정에서
유리하게 작용할 수 있습니다.
여러 개의 노드 그룹을 생성하고 싶은 경우에도
마찬가지로 노드 그룹 이름을 다르게 하여 명령어를 여러 번 입력해주시면 됩니다.
6. 기타 설정
위의 노드 그룹 생성까지 완료되었다면, 기본적인 EKS 사용 준비는 완료된 것입니다.
이후, 노드 그룹 Taint 설정 등을 원하시는대로 진행해주시면 되며,
GPU를 활용하는 경우에는 nvidia device plugin을 꼭 설치해주셔야 합니다.
설치 방법과 관련된 글의 링크를 하나 참고로 남기도록 하겠습니다.
이상으로 eksctl을 통한 EKS 클러스터 셋업 방법에 관한 글을 마무리하도록 하겠습니다.
감사합니다.
'Infra > Kubernetes & EKS' 카테고리의 다른 글
[EKS] ArgoCD 설치 및 ingress 설정 방법 (0) | 2023.12.09 |
---|---|
helm 소개 및 기초 명령어 예시 정리 (0) | 2023.11.29 |
AWS EKS 그라파나(Grafana) 접속 세팅 방법 (2) | 2023.11.21 |