Amazon EKS에 대한 kubelet 또는 CNI 플러그인 문제는 어떻게 해결합니까?

최종 업데이트 날짜: 2020년 9월 11일

Amazon Elastic Kubernetes Service(Amazon EKS)용 kubelet 또는 CNI 플러그인 문제를 해결하고 싶습니다.

간략한 설명

CNI 플러그인을 사용하여 작업자 노드의 포드에 IP 주소를 할당하고 실행하려면 다음이 있어야 합니다.

  • 작업자 노드의 IAM 역할에 연결된 Amazon EKS CNI Policy를 포함하여 AWS Identity and Access Management(IAM) 권한 또는 서비스 계정의 IAM 역할을 통해 제공
  • 작업자 노드에서 도달할 수 있는 Amazon EKS API 서버 엔드포인트
  • Amazon Elastic Compute Cloud(Amazon EC2), Amazon Elastic Container Registry(Amazon ECR) 및 Amazon Simple Storage Service(Amazon S3)의 API 엔드포인트에 대한 네트워크 액세스
  • 서브넷에서 사용할 수 있는 충분한 IP 주소

해결 방법

각 작업자 노드에서 aws-node 포드가 Running(실행) 상태인지 확인

작업자 노드에서 aws-node 포드가 Running(실행) 상태인지 확인하려면 다음 명령을 실행합니다.

kubectl get pods -n kube-system -l k8s-app=aws-node -o wide

명령 출력에 RESTARTS 수가 0으로 표시되면 aws-node 포드가 Running(실행) 상태입니다. 서브넷에 사용 가능한 충분한 여유 IP 주소가 있는지 확인 섹션의 문제 해결 단계를 시도해 보십시오.

명령 출력에 RESTARTS 수가 0보다 큰 값으로 표시되면 다음 단계를 수행해 보십시오.

작업자 노드가 Amazon EKS 클러스터의 API 서버 엔드포인트에 도달할 수 있는지 확인하려면 다음 명령을 실행합니다.

curl -vk https://eks-api-server-endpoint-url

Amazon EKS 클러스터에 연결할 수 없는 경우 다음을 시도해 보십시오.

1.    Amazon EKS에 대한 작업자 노드의 보안 그룹 설정이 올바르게 구성되어 있는지 확인합니다.

2.    서브넷에 대한 작업자 노드의 네트워크 액세스 제어 목록(네트워크 ACL) 규칙이 Amazon EKS API 서버 엔드포인트와의 통신을 허용하는지 확인합니다.

중요: 포트 443에서 인바운드 및 아웃바운드 트래픽을 허용합니다.

3.    각 작업자 노드에서 kube-proxy 포드가 Running(실행 중) 상태인지 확인하려면 다음 명령을 실행합니다.

kubectl get pods -n kube-system -l k8s-app=kube-proxy -o wide

4.    작업자 노드가 Amazon EC2, Amazon ECR 및 Amazon S3의 API 엔드포인트에 액세스할 수 있는지 확인합니다.

참고: 퍼블릭 엔드포인트 또는 AWS PrivateLink를 통해 이러한 서비스를 구성할 수 있습니다.

서브넷에 사용 가능한 여유 IP 주소가 충분히 있는지 확인

Amazon Virtual Private Cloud(Amazon VPC) ID의 각 서브넷에서 사용 가능한 IP 주소를 나열하려면 다음 명령을 실행합니다.

aws ec2 describe-subnets --filters "Name=vpc-id,Values=<VPCID>" | jq '.Subnets[] | .SubnetId + "=" + "\(.AvailableIpAddressCount)"'

available-ip-address-count는 포드가 시작되는 서브넷의 경우 0보다 커야 합니다.

보안 그룹 한도에 도달했는지 확인

탄력적 네트워크 인터페이스당 보안 그룹의 한도에 도달하면 포드 네트워킹 구성이 실패할 수 있습니다.

자세한 내용은 Amazon VPC 할당량을 참조하십시오.

작업자 노드에서 사용하는 인스턴스 유형이 CNI 플러그인에서 지원되는지 확인

자세한 내용은 CNI 플러그인에 대해 지원되는 인스턴스 유형 목록을 참조하십시오.

CNI 플러그인의 안정적인 최신 버전을 실행 중인지 확인

최신 버전의 CNI 플러그인이 있는지 확인하려면 Kubernetes 업그레이드용 Amazon VPC CNI 플러그인을 참조하십시오.

추가 문제 해결은 AWS GitHub 문제 페이지 및 CNI 플러그인에 대한 릴리스 노트를 참조하십시오.


이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?