【发布时间】:2019-06-13 13:25:05
【问题描述】:
在我的部署中,pod 可能处于需要重新创建的情况。在这种情况下,它仍然可以处理流量,但应尽快重新创建。
所以我考虑有一个 livenessProbe,如果需要重新启动 pod,它会报告失败。就绪探测仍会报告 ok。
我知道最终 kubernetes 会重新创建所有 pod,系统会再次正常运行。
我现在的问题是这可以在不中断的情况下完成吗? 因此,让我们假设一个副本集报告的所有 pod 都不是同时处于活动状态。 kubernetes 会全部杀死它们然后替换它们,还是会以滚动更新的方式运行,它启动一个新的 pod,等待它准备好,然后杀死一个不活跃的 pod 并继续这种方式,直到所有的都被替换?
这是 Kubernetes 的默认行为吗?如果不能,是否可以将其配置为这样?
【问题讨论】:
-
我也有同样的问题,你找到解决办法了吗?定义一个以滚动更新方式执行重启的自定义探针会很棒..
-
我最终改变了部署(添加了一个随机标签)。所以 k8s 以滚动的方式重启所有的 Pod。这是一个比最低限度必要的更大的变化,但确实有效。
-
是的,我做了类似的事情,我通过调用 PATCH 端点重新启动部署,将重新启动委托给正在更新数据的服务。
标签: kubernetes