1

我正在使用 k8s 部署我的 docker 应用程序。

一旦声明应用程序需要 20-30 秒才能准备好,应用程序很大,启动时需要一些时间。

开机平均时间为 20-30 秒。我想在滚动更新期间等待 60 秒。因为现在,旧 pod 在启动新应用程序(在新 pod 中)时终止。

我该怎么做?

4

1 回答 1

1

在 pod spec 中配置readiness probe 和 startup probefailureThreshold * periodSeconds足够长的时间来覆盖最坏情况的启动时间。例如。

ports:
- name: readiness-port
  containerPort: 8080
  hostPort: 8080

readinessProbe:
  httpGet:
    path: /healthz
    port: readiness-port
  failureThreshold: 1
  periodSeconds: 10

startupProbe:
  httpGet:
    path: /healthz
    port: readiness-port
  failureThreshold: 30
  periodSeconds: 10
于 2020-10-19T12:16:29.777 回答