在 v1.12 中提高 k8s 容器的启动阈值

Klu*_*dge 3 kubernetes kubernetes-pod kubernetes-container

按照此处的文档,我可以像这样设置容器启动的阈值:

startupProbe:
  httpGet:
    path: /healthz
    port: liveness-port
  failureThreshold: 30
  periodSeconds: 10
Run Code Online (Sandbox Code Playgroud)

不幸的是,它似乎startupProbe.failureThreshold与我们当前的 k8s 版本(1.12.1)不兼容:

unknown field "startupProbe" in io.k8s.api.core.v1.Container; if you choose to ignore these errors, turn validation off with --validate=false
Run Code Online (Sandbox Code Playgroud)

有解决方法吗?我想给一个容器大约 40 分钟以上的启动时间。

koe*_*koe 6

是的,startupProbe在 1.16引入的- 所以你不能在 Kubernetes 1.12 中使用它。

我猜你正在定义一个livenessProbe- 所以解决你的问题的最简单方法是删除livenessProbe. 大多数应用程序不需要一个(有些甚至不需要一个readinessProbe)。另请参阅这篇出色的文章:Liveness Probes are Dangerous