AWS EKS 를 테스트해보면서 누군가에게 도움이 될까 해서 기록을 남겨봅니다. 저는 맥을 사용하고 있습니다.
1. kubectl 설치.
kubectl 은 쿠버네티스 컨트롤을 위한 command line interface 입니다.
작성 시점의 kubectl 최신 버전이 1.21.1 이라 이것을 다운로드합니다.
curl -o kubectl https://amazon-eks.s3.us-west-2.amazonaws.com/1.21.2/2021-07-05/bin/darwin/amd64/kubectl
다운받은 바이너리에, 실행 옵션 x 를 붙인 후, $HOME/bin 으로 옮기고, path 를 겁니다.
chmod +x ./kubectl
mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH
kubectl 버전을 확인해봅니다.
kubectl version --short --client
2. eksctl 설치
eksctl 은 아마존의 쿠버네티스 managed service 인 EKS 를 컨트롤하기 위한 command line interface 입니다.
brew 가 설치되어 있지 않다면, 아래 커맨드로 brew 부터 설치합니다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Weaveworks tap 을 설치합니다.
Weaveworks 가 왜 필요한가 보았더니 쿠버네티스 gitops 를 지원하는 도구라고 합니다. eks 에서 weaveworks 를 내장하고 있나봅니다.
brew tap weaveworks/tap
brew 를 이용하여 eksctl 을 설치합니다.
brew install weaveworks/tap/eksctl
만약 이미 설치가 되어 있다면, 아래 커맨드로 최신 버전으로 업데이트해줍니다.
brew upgrade eksctl && brew link --overwrite eksctl
설치가 잘 되어 있나 확인하기 위해, version 을 표시해봅니다.
eksctl version
Good.
3. my-cluster 만들어보기.
AWS CLI 가 설치되어 있고 구성되어 있어야 합니다.
그 상태에서 이 커맨드로 my-cluster 를 만들어봅니다.
eksctl create cluster \
--name my-cluster \
--region ap-northeast-2
4. 확인하기
클러스터 노드를 확인합니다.
kubectl get nodes
아래처럼 출력되는 것을 확인할 수 있습니다.
NAME STATUS ROLES AGE VERSION
ip-192-168-42-224.ap-northeast-2.compute.internal Ready <none> 2m29s v1.21.5-eks-9017834
ip-192-168-79-227.ap-northeast-2.compute.internal Ready <none> 2m29s v1.21.5-eks-9017834
클러스터에서 실행중인 워크로드를 확인합니다.
kubectl get pods --all-namespaces
EC2 로 EKS 를 설치한 경우 아래처럼 출력됩니다.
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system aws-node-8tz6s 1/1 Running 0 7m
kube-system aws-node-sj98m 1/1 Running 0 7m
kube-system coredns-6dbb778559-5m7xg 1/1 Running 0 15m
kube-system coredns-6dbb778559-qdfdz 1/1 Running 0 15m
kube-system kube-proxy-dpsgh 1/1 Running 0 7m
kube-system kube-proxy-jqxdd 1/1 Running 0 7m
fargate 로 EKS 를 설치한 경우 아래처럼 출력됩니다.
NAME STATUS ROLES AGE VERSION
fargate-ip-192-168-122-42.ap-northeast-2.compute.internal Ready <none> 2m36s v1.21.2-eks-06eac09
fargate-ip-192-168-152-226.ap-northeast-2.compute.internal Ready <none> 2m27s v1.21.2-eks-06eac09
'(Dev)Ops' 카테고리의 다른 글
EKS #3 - 도커 이미지를 ECR 에 올리기. (0) | 2022.03.14 |
---|---|
EKS #2 - M1 맥에서 docker image 만들기. (0) | 2022.02.25 |
메시지큐의 용도 & AWS SQS 와 SNS 의 차이점. (0) | 2022.01.05 |
jenkins 에서 원격지 tomcat 재시작하기. (0) | 2020.09.03 |
SSH 터널링을 통해서 sftp 접속 방법. (0) | 2020.09.01 |