eksctl 구성

update : 2025-01-25 / 20min

eksctl 소개

eksctl은 Amazon EKS (Elastic Kubernetes Service) 클러스터를 쉽게 생성, 관리 및 삭제할 수 있도록 설계된 CLI 도구입니다. eksctl은 Kubernetes 클러스터를 AWS에서 빠르고 간단하게 설정할 수 있는 방법을 제공하며, 클러스터 설정과 관리의 복잡성을 줄이는 데 중점을 둡니다.

이 도구는 Weaveworks와 AWS가 협력하여 개발했으며, Kubernetes 클러스터의 자동화된 네트워크 설정, 노드 그룹 생성, IAM 역할 구성 등의 작업을 간단한 명령으로 수행할 수 있습니다.

eksctl을 통한 EKS 구성

1.eksctl 설치

사전 환경 구성에서 이미 설치되어 있습니다. 이 단계는 생략이 가능합니다.

아래와 같이 eksctl을 IDE 터미널에 설치하고 버전을 확인합니다.

eksctl 버전이 낮은 경우에는 EKS 최신버전을 설치할 경우 , 원할하게 설치 되지 않을 수 있습니다.

(https://github.com/eksctl-io/eksctl/releasesarrow-up-right)

# eksctl 설정 
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
# eksctl 자동완성 - bash
. <(eksctl completion bash)
eksctl version

2.VPC/Subnet 정보 확인

앞서 Cloudformation 구성에서 생성한 VPC 자원들에 대한 고유의 자원 값을 추출해서, 터미널 내에서 환경 변수에 저장합니다

circle-info

cat ~/.bash_profile 을 실행해서 환경 변수가 정상적으로 입력되었는 지 확인해 봅니다.

3. eksctl 배포를 위한 yaml 생성

eksctl yaml 생성을 위해 아래 Shell을 실행합니다.

생성된 eksctl yaml 파일을 dry-run을 실행시켜서 확인해 봅니다.

아래와 같이 명령을 실행시켜 eks cluster를 생성합니다.

circle-info

Cluster를 생성하기 위해 20분 정도 시간이 소요됩니다.

출력 결과 예시

Cloudformation 에는 6개의 Stack이 만들어졌습니다.

5. Cluster 생성 확인

정상적으로 Cluster가 생성되었는지 확인합니다.

출력 결과 예시

  • 생성된 VPC와 Subnet, Internet Gateway, NAT Gateway, Route Table등을 확인해 봅니다.

  • 생성된 EC2 Worker Node들도 확인해 봅니다.

  • EKS와 eksctl을 통해 생생된 Cloudformation도 확인해 봅니다.

다음과 같은 구성도가 완성되었습니다.

Last updated