K8S 生态周报| containerd 存在 bug 会导致 Pod 被重启,建议升级

「K8S 生态周报」内容主要包含我所接触到的 K8S 生态相关的每周值得推荐的一些信息。欢迎订阅知乎专栏「k8s生态」[1]

大家好,我是张晋涛。

这是 2023 年的第一篇『K8S 生态周报』,在上个月的月中之后我因为阳了就停止更新了,一直在修养身体。生病相关的内容我在上一篇文章 张晋涛:我的 2022 总结 | MoeLove有做介绍。愿大家都注意身体,保持健康。

这篇中的内容同样也包含了近一个月中值得关注的内容。

containerd v1.6.15 发布

尽管 containerd 的 1.7.0-beta.2 也已经于近期发布,但正式版发布还需要一段时间。现在 containerd 使用最多的还是 v1.6 和 v1.5 这两个主要版本, 这次发布的 v1.6.15 中有一个非常关键的变更,是 #7845 - CRI: Fix no CNI info for pod sandbox on restart by dcantah

我主要也是想聊一下这个,从 v1.6.9 开始的最近几个 containerd 版本中都受到了此问题影响。

简单来说就是 containerd 重启后,Sandbox IP 没能保留,最终导致 kubelet 将会重启 Pod (如果重启 kubelet)。

具体现象如下,在 Node 上通过 crictl 工具查看任意未使用 HostNetwork 的 Pod 的 .status.network 字段,可以看到如下结果:

(MoeLove) ➜ crictl -r unix:///run/containerd/containerd.sock  inspectp e03077da768e6  | jq .status.network
{
  "additionalIps": [],
  "ip": "10.244.1.5"

在重启 containerd 后,再次重复操作,就会发现 .status.network.ip 字段为空了:

(MoeLove) ➜ crictl -r unix:///run/containerd/containerd.sock  inspectp e03077da768e6  | jq .status.network
{
  "additionalIps": [],
  "ip": ""

不过次是如果在 Kubernetes 集群中通过 kubectl 查看该 Pod 的状态,会发现 Pod 的 IP 还在。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

张晋涛-MoeLove

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

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

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

打赏作者

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

抵扣说明:

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

余额充值