首页 新闻 会员 周边 捐助

遭遇 kubernetes pod 调度问题

0
悬赏园豆:30 [已解决问题] 解决于 2023-08-29 20:27

园子的找找看搜索服务 zzk-api 部署在专门的节点 zzk-node 上,今天突然出现 pod 无法调度部署的问题,对于的 pod 部署 events

Warning  FailedScheduling  3m38s  default-scheduler  0/14 nodes are available: 1 node(s) had untolerated taint {node.kubernetes.io/disk-pressure: }, 2 node(s) were unschedulable, 3 node(s) had untolerated taint {node-role.kubernetes.io/control-plane: }, 8 node(s) didn't match Pod's node affinity/selector. preemption: 0/14 nodes are available: 14 Preemption is not helpful for scheduling

请求如何解决这个问题?

k8s
dudu的主页 dudu | 高人七级 | 园豆:29642
提问于:2023-08-29 17:27
< >
分享
最佳答案
0

扩容磁盘空间后解决了,从 Avail: 48G, Use%:90% 扩容至 Avail: 58G, Use%: 89%

奇怪的是,还有10%的可用空间,k8s 为什么就以 disk-pressure 为由不肯调度

dudu | 高人七级 |园豆:29642 | 2023-08-29 19:20

通过官方文档 Hard eviction thresholds 知道了,原来默认值就是 10%

The kubelet has the following default hard eviction thresholds:
nodefs.available<10%

dudu | 园豆:29642 (高人七级) | 2023-08-29 19:54

/etc/default/kubelet 配置文件中可以看到 hard eviction thresholds 的配置

KUBELET_EXTRA_ARGS="--kube-reserved=cpu=300m,memory=300Mi,ephemeral-storage=1Gi --system-reserved=cpu=200m,memory=200Mi,ephemeral-storage=1Gi --eviction-hard=memory.available<500Mi,nodefs.available<10%"

可以直接修改这个配置文件,比如我们这里修改为 5%

KUBELET_EXTRA_ARGS="--kube-reserved=cpu=300m,memory=300Mi,ephemeral-storage=1Gi --system-reserved=cpu=200m,memory=200Mi,ephemeral-storage=1Gi --eviction-hard=memory.available<500Mi,nodefs.available<5%"

重启 kubelet 使修改生效

systemctl restart kubelet
dudu | 园豆:29642 (高人七级) | 2023-08-29 20:13

或者通过 KubeletConfiguration 清单文件中的 evictionHard 设置修改

dudu | 园豆:29642 (高人七级) | 2023-08-29 20:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册