You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes更新Deployment镜像后能否查看新旧Pod全部历史日志

首先要先指出你操作的问题:你第二次执行的kubectl create deployment --image=<image-name-2.0> image-app命令默认会直接执行失败,因为create只能用来创建不存在的新资源,集群里已经有同名的image-app deployment了,所以这条命令根本不会触发镜像更新。
要正常更新deployment的镜像,应该用这个命令:

kubectl set image deployment/image-app *=<image-name-2.0>

下面是假设你已经用正确命令完成镜像更新后的日志相关问题解答:

  • 旧Pod的日志不会被新Pod覆盖。Kubernetes里每个Pod的日志都是独立存在的,存储在它调度到的节点的本地磁盘上,和新Pod的日志完全分开,没有覆盖的可能。
  • 只要旧Pod还没被集群的垃圾回收机制清掉,你就能查到旧版本的日志:
    1. 先执行kubectl get pods --show-all,找到状态为Completed或者Terminating的旧Pod的名字
    2. 执行kubectl logs <旧Pod名称>就能拿到旧Pod的运行日志
  • 如果旧Pod已经被清理了(比如你改了deployment的历史副本保留数,或者手动删了旧的ReplicaSet),就没法用kubectl logs直接查到历史日志了。如果需要长期留存所有版本的日志,建议提前搭集群级的日志采集方案,把所有Pod日志同步到独立的持久化存储里。

内容的提问来源于stack exchange,提问作者user1938143

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 01:39:02