排查
查看节点上pod数
执行如下命令获取节点上pod数
kubectl get pod -A --field-selector spec.nodeName=${nodeName} |grep Running|wc -l
此场景得到如下
32
查看flannel 配置
执行如下命令获取flannel配置
kubectl get configmap -n kube-system kube-flannel-cfg -o yaml
查看SubnetLen,此场景得到如下
SubnetLen:27
查看kubelet 配置
执行如下命令获取kubelet配置
cat /var/lib/kubelet/config.yaml
查看maxPods,此场景得到如下
maxPods: 64
总结
节点上pod数已经达到了flannel子网下可分配ip数量,但是kubelet的maxPods数量却大约它,导致仍然可以调度pod搭配此节点但是无法分配ip
解决方案
修改maxPods的值小于等于节点上flannel子网下可分配ip数量,比如修改maxPods改为32
网友评论