- k8s集群中,有pod出現了 Pending ,通過
kubectl describe pod
命令,發現了如下報錯
0/4 nodes are available: 1 node(s) had taint {node.kubernetes.io/disk-pressure: }, that the pod didn't tolerate, 3 node(s) didn't match node selector.
- 這是因為節點被打上了污點(pod的yaml文件中配置了
node selector
,和 node
的 label
做了綁定,因此,導致了pod沒有節點可以起來)
Linux:~
{}
{}
{
"taints": [
{
"effect": "NoSchedule",
"key": "node.kubernetes.io/disk-pressure",
"timeAdded": "2021-03-06T14:15:27Z"
}
]
}
{}
- 可以看到,節點被打上了污點,並且是
NoSchedule
,不可調度
- 進行如下操作,取消所有節點的
node.kubernetes.io/disk-pressure
這個名稱的污點
Linux:~
node/k8s-w1 untainted
taint "node.kubernetes.io/disk-pressure" not found
taint "node.kubernetes.io/disk-pressure" not found
taint "node.kubernetes.io/disk-pressure" not found
- 如果節點還是Pending,可以導出 pod 的 yaml 文件,重新
kubectl apply -f xxx.yaml
即可(如果 pod 有 deployment ,則直接 kubectl delete pod
即可)
- 如果還是 Pending , 則再次執行
kubectl describe pod
查看報錯的原因