EKS Containerd Runtime

Hoju·2022년 8월 24일
0

참고 https://gasidaseo.notion.site/AWS-EKS-kubernetes-1-22-Tip-a1cbf1ee96724b2a9ffcc6ed09bb3de4

이제 1.24 EKS Cluster Version 부터는 Dockershim지원이 끊긴다고 합니다. 그렇기 떄문에 이 문제를 해결하기 위해서 CRI 를 Containerd로 사용해보도록 하겠습니다.

바뀐 점 버전마다 - https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/kubernetes-versions.html#kubernetes-1.21

  1. 먼저 변수들을 지정합니다. (편의를 위해서..)
EKS_VERSION=1.22
AMI_ID=$(aws ssm get-parameter --name /aws/service/eks/optimized-ami/${EKS_VERSION}/amazon-linux-2/recommended/image_id --query "Parameter.Value" --output text)
CLUSTER_NAME=wsi-eks-cluster
AWS_DEFAULT_REGION=ap-northeast-2
  1. 이제 overrideBootstrapCommand를 통해서 container Runtime을 containerd로 지정해주도록 하겠습니다. NodeGroup을 생성하는 Yaml Format에 File입니다.
cat > nodegroupCreate.yaml <<EOF
--- 
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
  name: ${CLUSTER_NAME}
  region: ${AWS_DEFAULT_REGION}
managedNodeGroups:
  - name: containerd
    instanceType: t3.small
    ami: ${AMI_ID}
    overrideBootstrapCommand: |
      #!/bin/bash
      /etc/eks/bootstrap.sh ${CLUSTER_NAME} --container-runtime containerd
EOF
  1. 이제 파일을 사용해서 생성 해주도록 하겠습니다.
eksctl create nodegroup --config-file nodegroupCreate.yaml
  1. 생성이 완료될 때까지 기다리도록 하겠습니다.(한 4분정도 소모)
  2. 생성이 완료되면 CLI를 통해서 Node에 Runtime을 확인합니다.
kubectl get node -o=custom-columns=NAME:.metadata.name,CONTAINER-RUNTIME:.status.nodeInfo.containerRuntimeVersion


6. 끝!!!!! 수고하셨습니당!!! 리소스 삭제는 아래 명령어를 사용합니다.

eksctl delete nodegroup --cluster $CLUSTER_NAME --region $AWS_DEFAULT_REGION --name containerd
profile
Devops가 되고 싶은 청소년

0개의 댓글