云容器实例 CCI-存活探针(liveness probe):Liveness Probe高级配置

时间:2023-12-21 21:07:00

Liveness Probe高级配置

上面liveness-http的describe命令回显中有如下行。

Liveness: http-get http://:8080/ delay=0s timeout=1s period=10s #success=1 #failure=3

这一行表示liveness probe的具体参数配置,其含义如下:

  • delay=0s 表示容器启动后立即开始探测,没有延迟时间
  • timeout=1s 表示容器必须在1s内做出相应反馈给probe,否则视为探测失败
  • period=10s 表示每10s探测一次
  • #success=1 表示探测连续1次成功表示成功
  • #failure=3 表示探测连续3次失败后会重启容器

这些是创建时默认设置的,您也可以手动配置,如下所示。

apiVersion: v1
kind: Pod
metadata:
  name: liveness-http
spec:
  containers:
  - image: k8s.gcr.io/liveness
    livenessProbe:
      httpGet:
        path: /
        port: 8080
      initialDelaySeconds: 10    # 容器启动后多久开始探测
      timeoutSeconds: 2          # 表示容器必须在2s内做出相应反馈给probe,否则视为探测失败
      periodSeconds: 30          # 探测周期,每30s探测一次
      successThreshold: 1        # 连续探测1次成功表示成功
      failureThreshold: 3        # 连续探测3次失败表示失败

initialDelaySeconds一般要设置大于0,这是由于很多情况下容器虽然启动成功,但应用就绪也需要一定的时间,需要等就绪时间之后才能返回成功,否则就会导致probe经常失败。

另外failureThreshold可以设置多次循环探测,这样在实际应用中健康检查的程序就不需要多次循环,这一点在开发应用时需要注意。

support.huaweicloud.com/devg-cci/cci_05_0013.html