跳到主要内容

K3s pod数量超限无法启动

1.故障现象

用户在配置中心配置了第三方服务(比如邮件服务器、AD集成等),访问方式是域名,但是一直访问报错。

2.故障根因

默认K3S只支持运行110个Pod(检测方式如下),在插件较多等场景下,如果Pod数量超过110个、新Pod将会无法启动,需调整该默认配置

kubectl describe node |grep pods -B6

3.解决方案

调大k3s pod数量限制、然后重启K3s服务,操作如下:

Tip: 在ExecStart的最后一行添加或者修改 '--kubelet-arg=max-pods=150'
Tip: 完整示例如下:

vim /etc/systemd/system/k3s.service

ExecStart=/usr/bin/k3s \
server \
'--config=/data/ones/ones-installer-pkg/k3s/v1.29.1+k3s2/config/config.server.yaml' \
'--service-node-port-range=30000-32767' \
'--system-default-registry=localhost:5000' \
'--cluster-init=false' \
'--kubelet-arg=max-pods=150' \
systemctl daemon-reload
systemctl restart k3s

注意: 理论上该操作不影响业务、操作时间1分钟, 请在非高峰期执行;执行前确认数据备份正常。