Open5
aws-nodeがrestartを繰り返す

環境
- eks 1.31
- karpenter 1.2.3
- vpc-cni v1.19.3-eksbuild.1
状況
- あるノードでaws-node(aws-vpc-cni)がRestartを繰り返している
- マネージドノードグループで管理しているノードでは正常にaws-nodeが起動している
- karpenterが調達したノードではaws-nodeがRestartを繰り返している

インスタンスタイプ
- マネージドノード
- t3.medium
- karpenter
- c7i-flex.large

eventログ
Back-off restarting failed container aws-eks-nodeagent in pod aws-node-8zhq7_kube-system(c207d5d3-8a46-48f2-81b3-cd291d3bd7a6)
どうやらaws-eks-nodeagentコンテナが原因に見える

利用可能なpod数
- マネージドノード
- 110
- karpenter
- 29
$ k describe node ip-10-0-2-127.ap-northeast-1.compute.internal | grep 'pods'
pods: 110
pods: 110
$ k describe node ip-10-0-2-254.ap-northeast-1.compute.internal | grep 'pods'
pods: 29
pods: 29
Normal NodeAllocatableEnforced 48m kubelet Updated Node Allocatable limit across pods
c7i-flex.largeはnitroノードであるにもかかわらず、利用可能なpodが29しかない
このあたりだろうか
なんかこのメッセージは気になるぞ...
Updated Node Allocatable limit across pods

ec2nodeclassを見る
なんとec2nodeclassのspec.kubelet.maxPods
の設定がなかった
apiVersion: karpenter.k8s.aws/v1
kind: EC2NodeClass
metadata:
name: test-nodeclass
spec:
kubelet:
maxPods: 110 # ココ