1

我有以下部署配置。test-worker-health 和 health 端点都无法访问,因为应用程序由于错误而失败。启动探针在失败后不断重启容器,因为 restartPolicy: Always。pod 进入 CrashLoopBackoff 状态。有没有办法让这种启动探测失败?

livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /health
            port: 8080
          periodSeconds: 20
          successThreshold: 1
          timeoutSeconds: 30
startupProbe:
          httpGet:
            path: /test-worker-health
            port: 8080
          failureThreshold: 12
          periodSeconds: 10
4

2 回答 2

2

启动探针失败后不断重启容器

startupProbe 不会重新启动您的容器,但 livenessProbe

pod 进入 CrashLoopBackoff 状态。有没有办法让这种启动探测失败?

如果您删除livenessProbe,您将不会获得此重新启动行为。您可能想改用readinessProbe吗?

有没有办法让这种启动探测失败?

你是什​​么意思?正如你所说,它已经“失败”了。你想自动回滚?这是由例如 Canary Deployment 提供的,但它是一个更高级的主题。

于 2020-09-01T17:25:24.513 回答
0

根据您的配置,startupProbe 会在 120 秒内尝试,如果在此期间至少没有成功一次,则会失败。

如果您的应用程序需要更多时间来启动 .ie > 120 秒,那么 startupProbe 将在完全启动之前继续重新启动您的应用程序。

我建议增加 failureThreshold 以使您的应用程序有足够的时间启动。

于 2022-03-04T11:03:19.117 回答