

 **이 페이지 개선에 도움 주기** 

이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 **GitHub에서 이 페이지 편집** 링크를 선택합니다.

# Amazon VPC CNI(자체 관리형 추가 기능) 업데이트
<a name="vpc-add-on-self-managed-update"></a>

**중요**  
자체 관리형 추가 기능 유형을 사용하는 대신 클러스터에 Amazon EKS 유형의 추가 기능을 추가하는 것이 좋습니다. 유형 간의 차이를 잘 모르는 경우 [Amazon EKS 추가 기능](eks-add-ons.md) 부분을 참조하세요. Amazon EKS 추가 기능을 클러스터에 추가하는 방법에 대한 자세한 내용은 [Amazon EKS 추가 기능 생성](creating-an-add-on.md) 섹션을 참조하세요. Amazon EKS 추가 기능을 사용할 수 없는 경우, 사용할 수 없는 이유에 대한 문제를 [컨테이너 로드맵 GitHub 리포지토리에](https://github.com/aws/containers-roadmap/issues) 제출하는 것이 좋습니다.

1. 클러스터에 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 추가 기능 업데이트](updating-an-add-on.md)의 절차를 수행하세요. 추가 기능 유형 간의 차이를 잘 모르는 경우 [Amazon EKS 추가 기능](eks-add-ons.md) 부분을 참조하세요.

1. 클러스터에 현재 설치된 컨테이너 이미지의 버전을 확인하세요.

   ```
   kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3
   ```

   예제 출력은 다음과 같습니다.

   ```
   v1.20.0-eksbuild.1
   ```

   출력에 빌드 번호가 포함되지 않을 수 있습니다.

1. 현재 설정을 백업하면 버전을 업데이트한 후에도 동일한 설정을 구성할 수 있습니다.

   ```
   kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
   ```

   사용 가능한 버전을 검토하고 업데이트하려는 버전의 변경 사항을 파악하려면 GitHub의 [releases](https://github.com/aws/amazon-vpc-cni-k8s/releases) 내용을 참조하세요. GitHub에서 최신 버전을 사용할 수 있더라도 사용 가능한 최신 버전 표에 나열된 것과 동일한 `major`.`minor`.`patch` 버전으로 업데이트하는 것이 좋습니다. 사용 가능한 최신 버전 테이블은 [Amazon VPC CNI 버전](managing-vpc-cni.md#vpc-cni-latest-available-version)을 참조하세요. 표에 나열된 빌드 버전은 GitHub에 나열된 자체 관리형 버전에 지정되어 있지 않습니다. 다음 옵션 중 하나로 작업을 완료하여 버전을 업데이트합니다.
   + 추가 기능에 대한 사용자 지정 설정이 없는 경우 GitHub에서 업데이트하려는 [릴리스](https://github.com/aws/amazon-vpc-cni-k8s/releases)에 해당하는 `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:`(으)로 시작하는 줄 참조) 이미지를 다운로드하여 자체 리포지토리에 복사한 다음 리포지토리에서 이미지를 가져오도록 매니페스트를 수정해야 합니다. 자세한 내용은 [한 리포지토리에서 다른 리포지토리로 컨테이너 이미지 복사](copy-image-to-repository.md) 섹션을 참조하세요.

     ```
     kubectl apply -f aws-k8s-cni.yaml
     ```

1. 이제 클러스터에 새 버전이 설치되어 있는지 확인합니다.

   ```
   kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3
   ```

   예제 출력은 다음과 같습니다.

   ```
   v1.20.3
   ```

1. (선택사항)`cni-metrics-helper` 클러스터에 설치합니다. 지표 헬퍼는 네트워크 인터페이스 및 IP 주소 정보를 수집하고 클러스터 수준에서 지표를 집계하고 이 지표를 Amazon CloudWatch에 게시하는 데 사용할 수 있는 도구입니다. 자세한 내용은 GitHub에서 [metrics.proto](https://github.com/aws/amazon-vpc-cni-k8s/blob/master/cmd/cni-metrics-helper/README.md)를 참조하세요.