2017-10-17 88 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

相關問題