如何在 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
在微服务部署过程中,我使用了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