eksctl을 통한 EKS 클러스터 구축하기

eksctl을 통한 EKS 클러스터 구축하기

VPC 생성하기

먼저 로컬에서 git 레포지토리를 다운로드 받는다.

[CloudFormation]에서 /k8s-aws-book/eks-env/01_base_resources_cnf.yaml 파일을 업로드하여

스택을 생성한다.

여기서 주의할 점은 공유 계정으로 실습 시 아래 [ClusterBaseName]이 같으면 VPC 생성 시 오류가 발생하므로

이 부분은 각자 다르게 생성한다.

ClusterBaseName이 동일하면 아래와 같이 CREATE_FAILED가 뜬다.

검토까지 변경할 사항은 없으며 그대로 스택을 생성해주면 된다.

[VPC] 서비스로 접속하여 생성된 VPC를 확인한다.

EKS 클러스터 구축

클러스터를 구축하기에 앞서,

[CloudFormation] 서비스에서 해당 스택을 클릭한 후 [출력] 부분에서 WorkerSubnets의 값을 따로 복사해둔다.

이번 실습은 Cloud9 서비스를 통해 IDE 환경을 생성한 후 실습을 진행한다.

[Cloud9] 서비스에 접속한 후 [Create Environment]를 클릭한다.

[Name]을 지정하고 [Next step]을 클릭한다.

아래 [Network settings]에서 VPC를 조금 전 생성했던 VPC로 선택하고 WorkerSubnet1을 클릭한 후

[Next step] -> [Create Environment]를 클릭한다.

생성이 완료되면 아래와 같이 IDE 환경이 하나 생성된다.

이제 이 곳에서 나머지 실습을 진행한다.

먼저 eksctl 명령어를 설치해보자.

curl --silent --location "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp sudo mv -v /tmp/eksctl /usr/local/bin

혹은 Windows 사용자라면, 아래 링크를 통해 amd64.zip 파일을 다운받고 압축해제 후 환경변수를 등록해준다.

https://github.com/weaveworks/eksctl/releases

설치가 완료되면 eksctl version을 통해 명령어를 확인한다.

이제 EKS 클러스터를 구축하는 과정이다.

eksctl create cluster \ > --vpc-public-subnets [아까 복사해둔 WorkerSubnets 값] \ > --name eks-work-cluster \ > --region ap-northeast-2 \ > --version 1.19 \ > --nodegroup-name eks-work-nodegroup \ > --node-type t3.small \ > --nodes 2 \ > --nodes-min 2 \ > --nodes-max 5

클러스트가 구축되는 과정은 CloudFormation 스택에서 확인할 수 있다.

마찬가지로 Worker 노드를 생성하는 스택도 확인한다.

클러스터를 구축하는 과정에서 아래와 같이 오류가 발생하고 워커 노드 구축이 되지 않는 경우가 있다.

이럴 땐 access key를 다운 받고, aws configure 명령어를 통해 aws 계정 설정을 한 후에 스택을 삭제하고

다시 구축해보길 권한다.

kubectl를 설치해준다.

curl -LO https://dl.k8s.io/release/v1.22.0/bin/windows/amd64/kubectl.exe

이제 EKS 클러스터가 잘 구축됐는지 접속 테스트를 해보자.

kubectl get nodes 명령어를 통해 Workder Node를 확인한다.

$ kubectl get nodes NAME STATUS ROLES AGE VERSION ip-192-168-0-238.ap-northeast-2.compute.internal Ready 6m1s v1.19.6-eks-49a6c0 ip-192-168-2-12.ap-northeast-2.compute.internal Ready 5m57s v1.19.6-eks-49a6c0

이상으로 EKS 클러스터 구축이 완료됐다.

from http://public-cloud.tistory.com/53 by ccl(A) rewrite - 2021-08-16 21:00:35