概述
近期对一台虚拟机进行文件传输,导致磁盘压力较大,在对其进行节点兼容性测试的时候,发生了以下报错。K8S集群无法对对应节点进行pod调度。
Warning FailedScheduling 46s default-scheduler 0/4 nodes are available: 1 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn't tolerate, 1 node(s) had taint {node.kubernetes.io/disk-pressure: }, that the pod didn't tolerate, 2 node(s) didn't match Pod's node affinity/selector.
意思是:
集群内有4个节点,但4个节点都不满足调度的需求
- 第一个节点是master == 因为master拥有节点驱逐的标签(node-role.kubernetes.io/master:),所以master无法部署pod
- 第二个节点是node4 == 因为磁盘读写压力大,存储空间不足,所以打了(node.kubernetes.io/disk-pressure:)的标签
- 第三和第四个不满足POD的节点亲和性策略
现象查询
kubectl get pod -n test-2022
部署pod调度没有落实,则pod一直处于pending状态
kubectl describe pod pod-tomcat-1 -n test-2022 | grep -A 5 "Events"