我已将集群中的 Pod 规模扩大到 20 个,第二天我看到扩展后的几个 Pod 被重新创建了。
当我说 Pod 重新创建时,它会被删除并重新创建,并且重新创建的 Pod 和缩放的 Pod 的时间戳会有所不同。
我无法找到重新创建 Pod 的原因。
由于 Pod 已被删除并消失,我无法找到哪个 Pod 被重新创建。journalctl 中没有关于哪个 Pod 被重新创建的日志。我有什么方法可以进一步调试以找出 Pod 重新创建的原因?或者 POD 被删除的原因是什么?
注意:我已经定义了就绪性和活性探测,但据我所知,这些探测将作用于容器,不会导致 Pod 重新创建。
答案1
答案2
如果任何 Pod 被安排到的节点死亡(耗尽),那么这些 Pod 将在超时期限后被删除。
您可以通过 Pod 调度到的节点是否处于 Ready 状态来确定原因。否则,Pod 将进入 NotReady 状态并在一段时间后终止
答案3
我遇到了与 pod recreate 类似的问题,根据我的经验,您可以尝试以下操作:
- 检查主机内核日志并确保没有 OOM killer 事件(使用命令
dmesg -T | egrep -i 'killed process'
) - 确保 pid 为 1 的容器进程不会退出,当 pid 1 结束时,pod 将退出,并且 kubelet 将自动启动该 pod
我正面临这 2 种情况的 pod 重启。