2017-10-17 60 views

回答

1

您的应用程序需要设计成可以在流程终止后继续存在。无论是否优雅。在这种情况下,对于常规应用程序而言,如果服务器例如意外断电,那么它对于希望存活的应用程序(即没有损坏的数据,没有松散状态(如果它是有状态的))并没有真正的区别。在群集上运行它可能已经意识到部署旨在并行运行一个应用程序的多个实例,因此您的应用程序也需要生存。

现在,这并不意味着你不能让它在某些情况下表现得更好,比如ie。当收到SIGKILL时添加一些终止处理,但这不完全是kube特定的。

+0

什么是确切的信号集k8s发送到pods容器,你可以发布链接pls? –

+0

https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods –

0

是的,您现有的POD将被终止并重新创建具有新图像的新POD。您可以指定maxUnavailablemaxSurge来控制滚动更新过程。还要确保您的应用程序已定义健康检查网址。

+0

我的问题更多的是应用程序的影响。我的应用程序是否必须构建用于处理另一个吊舱上的吊舱终端和延续,或者K8s是否可以保持透明?你能指出k8s文档中的相关主题吗? –

+0

kubernetes需要30秒来终止吊舱。在部署yaml文件中部署pod时,请配置livenessProbe。在这个页面中,他们还有livenessProbe的示例。 https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ – sfgroups

相关问题