当readinessProbe失败时,销毁未完成的pod

时间:2018-05-02 18:07:37

标签: kubernetes pod

我正在尝试部署包含运行状况检查端点的应用。如果失败,则应销毁该吊舱,但K8会使吊舱保持运行状态。

配置:

     readinessProbe:
        httpGet:
          path: /healthcheck
          port: 3001
        initialDelaySeconds: 5
        periodSeconds: 5
        successThreshold: 1

波德:

docs-app-768b47bc69-lrlcf      0/1       Running   0          1m

那么,当准备就绪探测器失败时,有一种方法可以破坏吊舱吗?

3 个答案:

答案 0 :(得分:2)

这不是探针的意思。 LivenessProbe,如果失败,重试配置的次数后将重新启动"豆荚。相反,ReadinessProbe可用于指示pod在故障期间不应提供流量。如果您需要编写插件来监视pod状态并在发生故障时删除副本或部署,则探测器不打算运行或中止pod。

答案 1 :(得分:0)

将其与Liveness配对以使其更有效并指定资源限制。

    resources:
      limits:
        cpu: 300m
        memory: 200Mi
      requests:
        cpu: 300m
        memory: 200Mi  
    readinessProbe:
      httpGet:
        path: /api/health
        port: 80
      initialDelaySeconds: 15
      periodSeconds: 20
      successThreshold: 1
      failureThreshold: 3
    livenessProbe:
      httpGet:
        path: /api/health
        port: 80
      initialDelaySeconds: 25
      periodSeconds: 25
      successThreshold: 1
      failureThreshold: 3    

答案 2 :(得分:0)

准备就绪探针用于服务准备就绪(如果通过了,则表明您处于负载平衡器中,如果不是,则不在),这对于切断到超载Pod的通信量并使它刷新后向安全性很有用。

活体探针用于杀死不健康,无法恢复的豆荚。

文档非常清楚:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/