簡體   English   中英

當容器死亡時終止一個 pod

[英]Terminate a pod when container dies

我想在容器死亡時終止一個 pod,但我沒有找到一種有效的方法。

我可以使用 kubctl 殺死 pod,但我希望 pod 應該在任何容器在 pod 中重新啟動時自動被殺死/重新啟動。

可以使用運算符來完成此任務嗎?

有一種方法,你必須添加livenessProbe配置與restartPolicy never在您的吊艙配置。

  1. livenessProbe偵聽容器故障
  2. 當容器死亡時,因為從不restartPolicy ,容器狀態變為Failed

例如;

apiVersion: v1
kind: Pod
metadata:
  labels:
    test: liveness
  name: liveness-http
spec:
  restartPolicy: Never
  containers:
  - args:
    - /server
    image: k8s.gcr.io/liveness
    livenessProbe:
      httpGet:
        # when "host" is not defined, "PodIP" will be used
        # host: my-host
        # when "scheme" is not defined, "HTTP" scheme will be used. Only "HTTP" and "HTTPS" are allowed
        # scheme: HTTPS
        path: /healthz
        port: 8080
        httpHeaders:
        - name: X-Custom-Header
          value: Awesome
      initialDelaySeconds: 15
      timeoutSeconds: 1
    name: liveness

這是參考; https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase

如果在其中一個容器發生故障時立即終止 Pod 並不重要,您可以考慮為整個 Pod 設置全局超時。 這可以通過為activeDeadlineSeconds設置activeDeadlineSeconds指定的activeDeadlineSeconds來實現: https : activeDeadlineSeconds

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM