AWS EKS v1.22 설치 (예시)

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

Untitled

설치 후 확인

# 노드 정보 확인 : 버전 정보 확인, 현재 노드의 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>

Untitled

# 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

샘플 파드 (게임) 배포

Service (NLB) & AWS Load Balancer Controller add-on