11.2. 使用 CLI 配置健康检查
要配置就绪度、存活度和启动探测,将一个或多个探测添加到包含要执行健康检查的容器的 pod 规格中
注意
如果要在现有 pod 中添加或编辑健康检查,您必须编辑 pod DeploymentConfig
对象或使用 Web 控制台。您不能使用 CLI 添加或编辑现有 pod 的健康检查。
流程
为容器添加探测:
创建
Pod
对象来添加一个或多个探测:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定容器名称。
- 2
- 指定要部署的容器镜像。
- 3
- 可选:创建一个存活度探测。
- 4
- 指定要执行的测试,这里是一个 TCP 套接字测试。
- 5
- 指定容器正在侦听的端口。
- 6
- 指定在调度探测前容器需要已启动的时间(以秒为单位)。
- 7
- 指定执行这个探测的秒数。默认值为
10
。这个值必须大于timeoutSeconds
。 - 8
- 指定一个秒数,在不活跃的时间超过这个值时探测被认为是失败的。默认值为
1
。这个值必须小于periodSeconds
。 - 9
- 可选:创建一个就绪度探测。
- 10
- 指定要执行的测试类型,这里是 HTTP 测试。
- 11
- 指定主机 IP 地址。如果未定义
host
,则使用PodIP
。 - 12
- 指定
HTTP
或HTTPS
。如果未定义scheme
,则使用HTTP
方案。 - 13
- 指定容器正在侦听的端口。
- 14
- 可选:创建一个启动探测。
- 15
- 指定要执行的测试类型,这里是一个容器执行探测。
- 16
- 指定要在容器上执行的命令。
- 17
- 指定失败后测试探测的次数。
- 18
- 指定执行这个探测的秒数。默认值为
10
。这个值必须大于timeoutSeconds
。 - 19
- 指定一个秒数,在不活跃的时间超过这个值时探测被认为是失败的。默认值为
1
。这个值必须小于periodSeconds
。
注意如果
initialDelaySeconds
的值低于periodSeconds
值,则第一个就绪度探测会因计时器的问题在两个阶段间进行。timeoutSeconds
值必须小于periodSeconds
值。创建
Pod
对象:oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证健康检查 pod 的状态:
oc describe pod my-application
$ oc describe pod my-application
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下是重启容器失败的探测的输出:
不健康容器存活度检查输出示例
oc describe pod pod1
$ oc describe pod pod1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow