Jeehee
(이지희)
July 15, 2025, 9:54pm
1
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
devlos
(Junhee Park)
July 17, 2025, 8:52am
2
지희님 안녕하세요,
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
Glen
(이정대)
July 18, 2025, 4:36am
3
내용 찾아봤을땐 윗분이 말씀해주신것 처럼 cilium 버전 확인이 필요해보인다고 하네요.
도움이 될지 모르겠지만
EKS에서 “cni plugin not initialized” 과 관련된 issue 문제 해결 공유드립니다.
opened 09:38PM - 19 Mar 25 UTC
closed 03:32PM - 20 Mar 25 UTC
kind/bug
needs/triage
kind/community-report
### Is there an existing issue for this?
- [x] I have searched the existing iss… ues
### Version
equal or higher than v1.15.15 and lower than v1.16.0
### What happened?
I tried using the solution recommended in bug: https://github.com/cilium/cilium/issues/33780
But I still can't configure an EKS Cluster as Cilium as the CNI as the Nodes keep getting this error:
```
Ready False Wed, 19 Mar 2025 12:13:50 -0600 Wed, 19 Mar 2025 12:08:32 -0600 KubeletNotReady container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized
```
I followed this documentation: https://isovalent.com/blog/post/eks-byocni-cilium/
### How can we reproduce the issue?
This is my eksctl version
```
eksctl version
0.205.0-dev+9e5300e5a.2025-02-28T20:09:09Z
```
This is my Cluster Config
```eksctl create cluster -f eksctl_cluster```
```
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: eks-cilium
region: us-east-1
version: "1.29"
iam:
withOIDC: true
addonsConfig:
disableDefaultAddons: true
addons:
- name: coredns
```
Then I installed Cilium using Helm (listed below) and after that I tried setting up the NodeGroup
This is my NodeGroup Config
```eksctl create nodegroup -f eksctl_nodegroup.yaml```
```
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: eks-cilium
region: us-east-1
managedNodeGroups:
- name: cilium
instanceType: t3a.medium
desiredCapacity: 2
privateNetworking: true
```
### Cilium Version
I tried using different versions and it didn't work.
```
helm install cilium cilium/cilium --version 1.15.6 \
--namespace kube-system \
--set eni.enabled=true \
--set ipam.mode=eni \
--set egressMasqueradeInterfaces=eth0 \
--set routingMode=native \
--set kubeProxyReplacement=true \
--set k8sServiceHost=${API_SERVER_IP} \
--set k8sServicePort=${API_SERVER_PORT}
```
### Kernel Version
6.1
It's using AWS EC2 Intaances
### Kubernetes Version
1.29
### Regression
_No response_
### Sysdump
_No response_
### Relevant log output
```shell
Pods keep crashing because there is no CNI
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system cilium-bfvng 0/1 Init:CrashLoopBackOff 5 (55s ago) 4m
kube-system cilium-operator-7d46c6f4c7-9czdv 0/1 CrashLoopBackOff 5 (37s ago) 7m6s
kube-system cilium-operator-7d46c6f4c7-bnqbh 0/1 CrashLoopBackOff 5 (34s ago) 7m6s
kube-system cilium-sr747 0/1 Init:CrashLoopBackOff 5 (51s ago) 3m56s
kube-system coredns-54d6f577c6-5n8xm 0/1 Pending 0 144m
kube-system coredns-54d6f577c6-gxnzq 0/1 Pending
```
### Anything else?
_No response_
### Cilium Users Document
- [ ] Are you a user of Cilium? Please add yourself to the [Users doc](https://github.com/cilium/cilium/blob/main/USERS.md)
### Code of Conduct
- [x] I agree to follow this project's Code of Conduct
1 Like
Jeehee
(이지희)
July 18, 2025, 4:40am
4
@devlos 님! 확인해볼께요. 감사해요!!
Jeehee
(이지희)
July 18, 2025, 4:41am
5
@Glen 님! 공유주신 내용도 같이 확인해볼께요. 옆에 팀장님이랑도 같이 한번 보고 있었어요.
아래 명령어로 aws node가 있는지와
kubectl -n kube-system get pods -l k8s-app=aws-node -o wide
문제가 있는 pod를 아래 명령어로 확인이 가능할까요?
kubectl -n kube-system logs
2 Likes
yhlee
(yhlee)
July 19, 2025, 5:05am
7
실리움 최신버전 업그레이드 하면 해결 될 것으로 보입니다.
업그레이드 시 백업은 필수 입니다.
그리고 EKS 버전을 1.29->32 까지 압그레이드 하셨으니..
순차적 업그레이드 괴정마다 이상 없는지 다 확인 했어야 되는데..
1.32 에서만 확인하셨으면…
그에따른 다른 이슈가 있을 수도 있겠습니다.
3 Likes
Jeehee
(이지희)
July 21, 2025, 10:09pm
8
아래 cilium 최신 버전으로 업데이트하니까… 해결이 된 것처럼 보여요. ^^;;
airhigh
(airhigh)
July 22, 2025, 11:30pm
9
먼저 EKS 버전과 cilium 버전 호환 테이블 먼저 확인하여 매칭되는 버전으로 cilium도 업그레이드 해야 합니다. 그리고 1.29–> 1.32로 jump 업그레이드 안되고 30, 31, 32 차례로 순차 업그레이드 해야 할겁니다. 보통 이렇게 하는 것 보다 신규 EKS 클러스터 생성하며 여러 콤포넌트 호환 테스트 끝내고 기존 EKS 1.29 백업 → 신규 EKS 1.32 restore 로 진행하는 것 추천 드립니다.
4 Likes