Pod 状态长时间(小时级别)不更新,一直处于 Creating、Terminating 状态

现象:

创建、删除或重建 Pod 后,等待很长时间(小时级别),kubectl get pods 显示 Pod 的 Status 一直是 Creating、Terminating 状态,进而导致 Service 长时间不可用;
在 Pod 调度到的节点上,执行 docker ps |grep xxx 命令,可以看到 Creating 的 Pod 容器已实际 Running 一段时间了;
原因:

kubelet 周期(1s)向 docker 查询各容器的状态、配置参数、image 是否存在、image 版本等信息;
kubelet 将查询的结果发给 kube-apiserver,以更新 Pod 的状态,这个发送过程受多个 QPS 参数控制;
kubelet 的 QPS 配置参数: --event-qps 、–kube-api-qps、–event-burst、–kube-api-burst 默认值分别为 5、5、10、10 ;
当节点 Pod 数目过多(200+),Pod 状态更新时间非常频繁时,kubelet 的默认 QPS 值成为瓶颈,导致 Pod 状态不能及时更新到 kube-apiserver。查看 Pod 的 Status时, 一直处于 Creating、Terminating 状态,进而导致 Service 长时间不可用;
解决办法:

调大 kubelet 的 QPS 配置参数:

--event-qps=0
--kube-api-qps=2000
--kube-api-burst=4000
--registry-qps=0

参考:

https://github.com/kubernetes/kubernetes/issues/39113#issuecomment-305919878

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

k8s小王

你的鼓励是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值