如何在 pod 启动期间增加 Openshift/kubernetes 需要 运行 脚本数据库的时间?错误失败的活性探测

How to increase the time that Openshift/kubernetes need for run script database with flyway during pod start? Error failed liveness probe

在微服务部署过程中,我使用了openshift,docker,springboot和flyway。如果 flyway 在部署运行状况检查期间使用脚本数据库花费了大量时间,则会抛出此错误:

Killing container with id docker//app:Conainter failed liveness probe. Container will be killed and recreated.

如何避免这个错误?

对于首次初始化时可能需要额外启动时间的应用程序,您可以使用 startup probe

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

livenessProbe:
  httpGet:
    path: /healthz
    port: liveness-port
  failureThreshold: 1
  periodSeconds: 10

startupProbe:
  httpGet:
    path: /healthz
    port: liveness-port
  failureThreshold: 30
  periodSeconds: 10

应用程序将最多有 5 分钟(30 * 10 = 300 秒)来完成启动。一旦启动探测成功一次,活性探测就会接管以提供对容器死锁的快速响应。如果启动探测从未成功,容器将在 300 秒后被杀死并受制于 pod 的 restartPolicy