EKS 클러스터와 워커 노드의 kubelet 버전을 업그레이드 -> 노드 조인 불가/CNI 초기화 불가

EKS 클러스터와 워커 노드의 kubelet 버전을 업그레이드한 이후, 노드들이 클러스터에 더 이상 조인되지 않습니다. CNI 플러그인이 초기화되지 않았습니다.

EKS 클러스터를 1.29에서 1.32로 업그레이드한 후, launch template에서 AMI를 bottlerocket-aws-k8s-1.32-x86_64-v1.35.0-af533f46으로 변경하여 kubelet의 1.32 버전을 적용했습니다. 그 후 워커 노드를 재시작했는데, 이때부터 노드들이 “NotReady” 상태로 표시되며, 오류 메시지로는 "CNI plugin not initialized"가 나타납니다.

저는 현재 환경에서 CNI로 Cilium을 사용하고 있으며, CNI에 대해서는 아직 익숙하지 않아 문제 해결 방법이나 디버깅 절차에 대한 지식이 부족합니다.

이에 대해 전문가분들의 조언을 부탁드립니다.

4 Likes

지희님 안녕하세요,
CNI plugin not initialize 메시지가 발생하면 노드에서 동작하는 cilium Pod 장애일 가능성이 있을 것 같아요.
저는 on-prem으로 사용하고 있어 도움이 될 지 모르지만 답변드려봐요!

먼저 cilium Pod 들이 Running 상태인지 확인하시기 바래요.

 kubectl get pods -n kube-system | grep cilium

‘CrashLoopBackOff’, ‘ImagePullBackOff’ 등의 이유가 있을 수 있고, 이 상황에 따라 대응 방식이 달라질 수 있습니다.

파드의 로그도 확인 해 보시기 바래요.

kubectl logs -n kube-system cilium-xxx

정상적인 상태

#참고 : on-prem 1.33 환경 | Cilium 1.17.3 버전 사용중
[wini@k8s-master ~]$ kubectl get pods -n kube-system | grep cilium
cilium-6dtm2                         1/1     Running     4 (82m ago)    22h
cilium-6hjf5                         1/1     Running     0              22h
cilium-envoy-5r86l                   1/1     Running     5 (82m ago)    23h
cilium-envoy-f9br9                   1/1     Running     0              23h
cilium-envoy-hx9jc                   1/1     Running     4 (82m ago)    23h
cilium-operator-bcf778697-rgrh7      1/1     Running     4 (82m ago)    23h
cilium-operator-bcf778697-sz6z8      1/1     Running     5 (82m ago)    23h
cilium-w9s7n                         1/1     Running     5 (82m ago)    22h


[wini@k8s-master ~]$ kubectl version
Client Version: v1.33.2
Kustomize Version: v5.6.0
Server Version: v1.33.2

[wini@k8s-master ~]$ cilium version
cilium-cli: v0.18.4 compiled with go1.24.3 on linux/amd64
cilium image (default): v1.17.4
cilium image (stable): v1.17.6
cilium image (running): 1.17.3

EKS 1.32 버전이면 k8s 1.32 호환버전의 Cilium으로 업데이트를 해야할 수도 있습니다.

2 Likes

내용 찾아봤을땐 윗분이 말씀해주신것 처럼 cilium 버전 확인이 필요해보인다고 하네요.

도움이 될지 모르겠지만

EKS에서 “cni plugin not initialized” 과 관련된 issue 문제 해결 공유드립니다.

1 Like

@devlos 님! 확인해볼께요. 감사해요!!

@Glen 님! 공유주신 내용도 같이 확인해볼께요. 옆에 팀장님이랑도 같이 한번 보고 있었어요.

아래 명령어로 aws node가 있는지와
kubectl -n kube-system get pods -l k8s-app=aws-node -o wide

문제가 있는 pod를 아래 명령어로 확인이 가능할까요?
kubectl -n kube-system logs

2 Likes

실리움 최신버전 업그레이드 하면 해결 될 것으로 보입니다.
업그레이드 시 백업은 필수 입니다.

그리고 EKS 버전을 1.29->32 까지 압그레이드 하셨으니..
순차적 업그레이드 괴정마다 이상 없는지 다 확인 했어야 되는데..
1.32 에서만 확인하셨으면…
그에따른 다른 이슈가 있을 수도 있겠습니다.

3 Likes

아래 cilium 최신 버전으로 업데이트하니까… 해결이 된 것처럼 보여요. ^^;;

먼저 EKS 버전과 cilium 버전 호환 테이블 먼저 확인하여 매칭되는 버전으로 cilium도 업그레이드 해야 합니다. 그리고 1.29–> 1.32로 jump 업그레이드 안되고 30, 31, 32 차례로 순차 업그레이드 해야 할겁니다. 보통 이렇게 하는 것 보다 신규 EKS 클러스터 생성하며 여러 콤포넌트 호환 테스트 끝내고 기존 EKS 1.29 백업 → 신규 EKS 1.32 restore 로 진행하는 것 추천 드립니다.

4 Likes

왓 추천 감사합니다!!

1 Like