0

我有一個用例來優雅地終止容器,在那裏我有一個腳本,通過使用命令「kill PID」從容器內優雅地終止進程(它將發送TERM信號) 但我有活性探測器也配置好。 當前生命力探測器配置爲以60秒間隔進行探測。因此,如果在發送正常終止信號後不久發生活性探測,則當終止仍在進行時,容器的整體健康狀況可能變得非常關鍵。 在這種情況下,活性探測將失敗,容器將立即終止。當k8s活性探針失敗時,發送到在容器中運行的進程的信號是什麼? KILL或TERM

所以我想知道kubelet是否用TERM或KILL殺死容器。

感謝您的支持 預先感謝

回答

2

在Kubernetes,活性探針檢查一個集裝箱的健康狀態。

若要回答您的問題是否使用SIGKILL或SIGTERM,答案都是使用,但按順序。所以這裏是發生了什麼。

  1. 活躍度探針檢查失敗
  2. Kubernetes站流量路由到容器
  3. Kubernetes重新啓動容器
  4. Kubernetes再次開始

路由流量到容器容器重啓,SIGTERM首先發送,等待參數化寬限期,然後Kubernetes發送SIGKILL。

圍繞您的問題一個黑客是使用屬性:

timeoutSeconds 

這指定它被認爲失敗之前的請求還能走多久迴應。如果應用程序聯機所用的時間可預測,則可以添加和調整此參數。

此外,您可以在livenessProbe之前使用readinessProbe進行遊戲,並在重新啓動過程後使容器投入使用。請參閱https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/以獲取有關使用哪些參數的更多詳細信息。

相關問題