on
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