跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Deployment 滚动更新的时候,老的 Pod 停止有事需要非常长时间甚至停不下来有什么可能?
未分類
19 2 月 2021

Deployment 滚动更新的时候,老的 Pod 停止有事需要非常长时间甚至停不下来有什么可能?

Deployment 滚动更新的时候,老的 Pod 停止有事需要非常长时间甚至停不下来有什么可能?

資深大佬 : zhoudaiyu 2

K8s 1.13 ,deployment 更新,新 Pod 就绪已经 10 分钟了,老的 Pod 还没有被杀死,状态是卡在 Terminating,container 已经停止了,这是 Pod 也没有报错,时候过几分钟 Pod 就被杀死了,有时候还是卡住,这时只能加上 graceful-period=0 和 force 两个参数强制杀死 Pod,我们设置的 gracefulPeriodSecond 是 20s,也就是说发起杀 container 的信号后 20s 即便没有停,Pod 也应该自动被杀死了才对。由于这种问题是偶发的,我们也不太好查,也不知道去哪查。大家有啥思路吗?

大佬有話說 (9)

  • 資深大佬 : AnyISalIn

    可以尝试看看 Terminating 状态中的 Pod 的 meta.finalizers 字段的内容和所在宿主机的 kubelet 日志排查下

  • 主 資深大佬 : zhoudaiyu

    @AnyISalIn 老哥,我们还真看了 kubelet 的日志了,没发现啥线索,现在想的是能不能把 termination-log 给它挂载出来做持久化,这样我们就可以看到日志了,兴许能发现什么

  • 主 資深大佬 : zhoudaiyu

    @AnyISalIn 你说的 finalizer 就是 Pod 的析构器吧,我记得有三种,但是我们的 deployment 都是用模板统一生成的,不应该有不同的析构器,而且卡主的 Deployment 也是随机的,没有什么规律可循

  • 資深大佬 : AnyISalIn

    可以尝试一下在 Pod 运行的时候尝试去宿主机直接 docker restart <container>,看下容器是否能够正常重启,Docker 的版本是多少啊 @zhoudaiyu 可以加个微信探讨一下 YW55aXNhbGlu

  • 主 資深大佬 : zhoudaiyu

    @AnyISalIn 加了兄弟,同意一下吧

  • 資深大佬 : Judoon

    我遇到这个问题的时候,最后发现基本是主机导致的,load 过高,io 过高之类的。
    你说 deployment 是随机的,那有没有关注过卡在 terminating 状态的 pod 是不是都出现在同一台主机上。
    或者看一下卡住时,主机的监控

  • 主 資深大佬 : zhoudaiyu

    @Judoon 有道理,我想办法加一些监控,因为这是测试集群我们基本没啥监控

  • 資深大佬 : julyclyde

    我猜你在容器里运行了 systemd

  • 主 資深大佬 : zhoudaiyu

    @julyclyde #8 容器特别干净 就一个 tomcat

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具