kubectl 설치
: AWS 에서 제공하는 kubectl 파일 사용을 권장 - 링크
# v1.22 - Linux 경우
# 다운로드 및 파일이동
curl -o kubectl <https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/linux/amd64/kubectl>
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
# 버전 확인 : eks 포함되어 있다
kubectl version --short --client
Client Version: v1.22.6-**eks**-7d68063
eksctl 설치
: eksctl v0.92.0 버전 이상 부터 쿠버네티스 v1.22 설치 가능 - 링크
# 다운로드 및 압축해제 후 파일이동
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
# 버전 확인 : 0.92 버전 부터 v1.22 설치 지원이 가능하다
eksctl version
0.92.0
# 쿠버네티스 지원 버전 정보 확인
eksctl create cluster -h | grep version
--version string Kubernetes version (valid options: 1.18, 1.19, 1.20, 1.21, **1.22**) (default "1.21")
ekctl 을 통한 클러스터 설치
: - 링크
# 쿠버네티스 v1.22 지원 버전 설치 : 버전 기본값은 1.21 이다
eksctl create cluster --name <Cluster-Name> --region <Region-code> --version 1.22
설치 후 확인
# 노드 정보 확인 : 버전 정보 확인, 현재 노드의 CRI 는 Docker
kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
ip-192-168-1-143.ap-northeast-2.compute.internal Ready <none> 6m26s **v1.22.6-eks**-7d68063 192.168.1.143 13.125.7.169 Amazon Linux 2 5.4.181-99.354.amzn2.x86_64 docker://20.10.13
ip-192-168-2-205.ap-northeast-2.compute.internal Ready <none> 6m38s **v1.22.6-eks**-7d68063 192.168.2.205 13.209.65.61 Amazon Linux 2 5.4.181-99.354.amzn2.x86_64 docker://20.10.13
# 파드 정보 확인
kubectl get pod -n kube-system -owide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
aws-node-4vdp8 1/1 Running 0 6m52s 192.168.1.143 ip-192-168-1-143.ap-northeast-2.compute.internal <none> <none>
aws-node-jvlc2 1/1 Running 0 7m4s 192.168.2.205 ip-192-168-2-205.ap-northeast-2.compute.internal <none> <none>
coredns-556f6dffc4-89kcq 1/1 Running 0 16m 192.168.2.141 ip-192-168-2-205.ap-northeast-2.compute.internal <none> <none>
coredns-556f6dffc4-nmk8r 1/1 Running 0 16m 192.168.2.253 ip-192-168-2-205.ap-northeast-2.compute.internal <none> <none>
kube-proxy-ggj24 1/1 Running 0 7m4s 192.168.2.205 ip-192-168-2-205.ap-northeast-2.compute.internal <none> <none>
kube-proxy-kgv2x 1/1 Running 0 6m52s 192.168.1.143 ip-192-168-1-143.ap-northeast-2.compute.internal <none> <none>
# AWS VPC CNI 버전 확인 : v1.10.1-eksbuild.1
kubectl describe daemonset **aws-node** --namespace kube-system | grep Image | cut -d "/" -f 2
amazon-k8s-cni:v1.10.1-eksbuild.1
# CoreDNS 버전 확인 : v1.8.7-eksbuild.1
k describe deploy -n kube-system **coredns** | grep Image | cut -d "/" -f 3
coredns:v1.8.7-eksbuild.1
# Kube-proxy 버전 확인 : v1.22.6-eksbuild.1
kubectl describe daemonset **kube-proxy** --namespace kube-system | grep Image | cut -d "/" -f 3
kube-proxy:v1.22.6-eksbuild.1
슈퍼 마리오 게임 파드/서비스 배포
접속 확인
게임 웹 접속 : CLB 도메인 주소
AWS Load Balancer Controller + NLB IP 모드 동작