관리 메뉴

피터의 개발이야기

[EKS] EKS가 ContainerCreating 상태에서 멈추는 문제 해결, eks cni plugin troubleshooting 본문

AWS/EKS

[EKS] EKS가 ContainerCreating 상태에서 멈추는 문제 해결, eks cni plugin troubleshooting

기록하는 백앤드개발자 2022. 11. 16. 23:48
반응형

ㅁ 개요

 ㅇ 검수기는 비용절감을 위해 스케쥴로 가동된다.

 ㅇ Pod들이 ContainerCreating 상태로 교착상태에 빠져 있었고, 이를 해결하는 과정을 걸리하였다.

 

 

ㅁ 증상

 ㅇ 거의 모든 Pod들이 ContainerCreating 상태에서 바뀌지 않고 교착상태에 빠져 있었다.

 

 

ㅁ Pod 상세 확인

$ kubectl describe pod example_pod

 ㅇ 위 명령어를 통해 Pod의 이벤트를 확인한다.

 

Failed to create pod sandbox: rpc error: code = Unknown desc = failed to set up sandbox container "d423cb5bb261338d384bf2266fbadc05bc074b432319df49b6011c7f954364f3" network for pod "x-y-service-aws-sae1-prdt-ppd-dev-789b656b462tbt4": networkPlugin cni failed to set up pod "aws-load-balancer~~" network: add cmd: failed to assign an IP address to container

 

 ㅇ 이 오류는 컨테이너 네트워크 인터페이스(CNI)가 새로 프로비저닝된 포드에 IP 주소를 할당할 수 없을 때 나타난다.

 ㅇ 네트워크 플러그 인 cni가 포드 네트워크를 설정하지 못하고 있었다. 

 

 

ㅁ 구글링을 통한 해결점 도출

 ㅇ "networkplugin cni failed to set up pod eks" 검색을 하였고, Amazon EKS의 kubelet 또는 CNI 플러그인 문제를 해결하려면 어떻게 해야 합니까? 라는 AWS 문서는 아래의 해결점을 제시하였다.

 ㅇ 해결방법

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

  - Amazon EKS 클러스터에 대한 연결 확인

  - 서브넷에 사용 가능한 여유 IP 주소가 충분히 있는지 확인
  - 보안 그룹 한도에 도달했는지 확인
  - CNI 플러그인의 안정적인 최신 버전을 실행 중인지 확인 <= 나의 경우 여기에 해당
  - 작업자 노드에서 VPC CNI 플러그인의 로그 확인

  - kubelet이 Docker 컨테이너 이미지를 가져오는지 확인

  - WARM_PREFIX_TARGET 값이 올바르게 설정되었는지 확인

  - 서브넷에서 예약된 공간 확인 

 

 

ㅁ EKS 버젼확인

https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/managing-vpc-cni.html

 ㅇ EKS 클러스터 버전에 맞는 VPC CNI 버전의 정보이다.

 ㅇ 나의 경우는 EKS 1.22 이기 때문에 1.11.4-eksbuild.1 버젼을 적용해야한다.

 

 ㅇ 현재 v1.10.1-eksbuid.1이 적용되어 업데이트를 진행하였다.

 

 ㅇ 업데이트 중

 

 ㅇ 업그레이드 완료되었다.

 

ㅁ 번외 트러블 슈팅

 ㅇ https://github.com/aws/amazon-vpc-cni-k8s/issues/2045 를 참조하여 트러블슈팅을 진행하였지만 마땅한 해결점을 찾지 못했었다.

 

kubectl -n kube-system exec -it aws-node-kpchz -- tail -n70 /host/var/log/aws-routed-eni/ipamd.log

 

 

ㅁ 함께 보면 좋은 사이트

 

Amazon EKS의 kubelet 또는 CNI 플러그인 문제 해결

Amazon EKS의 kubelet 또는 CNI 플러그인 문제를 해결하려면 어떻게 해야 합니까? 최종 업데이트 날짜: 2021년 11월 15일 Amazon Elastic Kubernetes Service(Amazon EKS)용 kubelet 또는 CNI 플러그인 문제를 해결하고 싶

aws.amazon.com

 

EKS 포드가 ContainerCreating 상태에서 멈추는 이유 알아보기

Amazon EKS 포드가 ‘포드 샌드박스 생성 실패’라는 오류와 함께 ContainerCreating 상태에서 멈추는 이유는 무엇인가요? 최종 업데이트 날짜: 2021년 11월 30일 Amazon Elastic Kubernetes Service(Amazon EKS) 포드가

aws.amazon.com

 ㅇ Amazon EKS 포드가 ‘포드 샌드박스 생성 실패’라는 오류와 함께 ContainerCreating 상태에서 멈추는 이유는 무엇인가요?

 

 

 

Node can't assign IPs for pods that haven't a specific security group attached · Issue #2045 · aws/amazon-vpc-cni-k8s

What happened: My EKS Node can't assign IPs, but I have IP Addresses available in my subnets. I'm using Security Groups for pods in a Private EKS Cluster with EC2. 1- I'm using m5.4xlar...

github.com

반응형
Comments