Amazon VPC CNI 업데이트하기
Amazon VPC CNI 업데이트하기 (자체 관리형 추가 기능) (Update the Amazon VPC CNI (self-managed add-on))
중요
자체 관리형 유형 대신 Amazon EKS 유형의 추가 기능을 클러스터에 추가하는 것을 권장해요. 유형 간 차이에 익숙하지 않다면 Amazon EKS 추가 기능을 참고하세요. 클러스터에 Amazon EKS 추가 기능을 추가하는 방법은 Amazon EKS 추가 기능 생성하기를 참고하세요. Amazon EKS 추가 기능을 사용할 수 없다면, 그 이유에 대한 issue를 Containers roadmap GitHub 저장소에 제출하는 것을 권장해요.
출처: 문서
본문
-
클러스터에 Amazon EKS 유형의 추가 기능이 설치되어 있지 않은지 확인해요.
my-cluster를 클러스터 이름으로 바꾸세요.aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query addon.addonVersion --output text오류 메시지가 반환되면 클러스터에 Amazon EKS 유형의 추가 기능이 설치되어 있지 않은 거예요. 추가 기능을 자체 관리하려면 이 절차의 나머지 단계를 완료해 추가 기능을 업데이트하세요. 버전 번호가 반환되면 클러스터에 Amazon EKS 유형의 추가 기능이 설치된 거예요. 업데이트하려면 이 절차 대신 Amazon EKS 추가 기능 업데이트하기 절차를 사용하세요. 추가 기능 유형 간 차이에 익숙하지 않다면 Amazon EKS 추가 기능을 참고하세요.
-
클러스터에 현재 설치된 컨테이너 이미지 버전을 확인해요.
kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3예시 출력은 다음과 같아요.
v1.20.0-eksbuild.1출력에 빌드 번호가 포함되지 않을 수도 있어요.
-
현재 설정을 백업해 버전을 업데이트한 후 동일한 설정을 구성할 수 있게 해요.
kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml -
사용 가능한 버전을 검토하고 업데이트할 버전의 변경 사항을 파악하려면 GitHub의 releases(릴리스)를 참고하세요. GitHub에 이후 버전이 있더라도 최신 사용 가능 버전 표에 나열된 것과 동일한
major.minor.patch버전으로 업데이트하는 것을 권장해요. 최신 사용 가능 버전 표는 Amazon VPC CNI 버전을 참고하세요. 표에 나열된 빌드 버전은 GitHub에 나열된 자체 관리형 버전에는 명시되지 않아요. 다음 옵션 중 하나로 업데이트를 완료하세요.- 추가 기능에 커스텀 설정이 없다면, 업데이트할 릴리스에 대해 GitHub의
To apply this release:제목 아래 명령을 실행하세요. - 커스텀 설정이 있다면 다음 명령으로 매니페스트 파일을 다운로드하세요.
https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.20.0/config/master/aws-k8s-cni.yaml을 업데이트할 GitHub 릴리스의 URL로 바꾸세요.curl -O https://raw.githubusercontent.com/aws/amazon-vpc-cni-k8s/v1.20.3/config/master/aws-k8s-cni.yaml - 필요한 경우 이전 단계에서 백업한 커스텀 설정으로 매니페스트를 수정한 다음 수정된 매니페스트를 클러스터에 적용하세요. 노드가 이미지를 가져오는 프라이빗 Amazon EKS Amazon ECR 저장소(매니페스트에서
image:로 시작하는 줄 참고)에 접근할 수 없다면 이미지를 다운로드해 자신의 저장소에 복사하고, 매니페스트를 수정해 자신의 저장소에서 이미지를 가져오도록 해야 해요. 자세한 내용은 한 저장소에서 다른 저장소로 컨테이너 이미지 복사하기를 참고하세요.kubectl apply -f aws-k8s-cni.yaml
- 추가 기능에 커스텀 설정이 없다면, 업데이트할 릴리스에 대해 GitHub의
-
새 버전이 클러스터에 설치되었는지 확인해요.
kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3예시 출력은 다음과 같아요.
v1.20.3 -
(선택 사항) 클러스터에
cni-metrics-helper를 설치해요. 이 도구는 탄력적 네트워크 인터페이스와 IP 주소 정보를 수집해 클러스터 수준에서 집계하고 메트릭을 Amazon CloudWatch에 게시해요. 자세한 내용은 GitHub의 cni-metrics-helper를 참고하세요.