k8s集群-pod 一直pending nodes are available: 1 node(s) had untolerated taint {node-role.kubernetes.io/control-plane: }
现象
k8s集群在 执行kubectl get pods -A
命令后发现某个pod一直处于pending状态 。 执行 kubectl describe pod <pod名> -n <pod所在命名空间>
后找到pending原因,如下:
nodes are available: 1 node(s) had untolerated taint {node-role.kubernetes.io/control-plane: }, that the pod didn't tolerate |
提示控制面(即master节点)有污点。
查找污点原因
查找节点是否存在污点:
kubectl describe nodes <node-name> |grep Taints |
#kubectl describe nodes master |grep Taints |
可以看到master节点存在污点:node-role.kubernetes.io/control-plane:NoSchedule
删除污点
删除污点命令:kubectl taint nodes <node-name> node-role.kubernetes.io/control-plane:NoSchedule-
这里我们使用如下命令删除master节点的污点:
kubectl taint nodes master node-role.kubernetes.io/control-plane:NoSchedule- |
删除污点后我们会发现pod启动正常了。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 叶落花开的博客!
评论