作者信息:https://home.cnblogs.com/u/huangjiabobk

在k8S中,Pod中的LivenessProbe探针常见方式有哪些?

在 Kubernetes (k8s) 中,Pod 的 LivenessProbe 探针常见的方式有以下三种:

  1. Exec:

    • 通过在容器内部执行一个命令来检查应用是否正常运行。如果命令的退出状态码为0,则认为应用程序是健康的;非0状态码则视为不健康。例如:

      livenessProbe:
      exec:
      command:
      - cat
      - /tmp/healthy

      在这个例子中,Kubernetes 将会在指定的时间间隔内执行 cat /tmp/healthy 命令,如果该文件存在且能成功读取(即命令返回0),则认为容器是健康的。

  2. HTTPGet:

    • 向容器暴露的一个HTTP端点发送GET请求,根据响应的状态码判断容器的健康状况。例如:

      livenessProbe:
      httpGet:
      path: /healthz
      port: 8080
      httpHeaders:
      - name: Custom-Header
      value: AwesomeValue

      此探针会定期访问容器在8080端口上的 /healthz 路径,并期望收到成功的HTTP状态码(通常为200)。

  3. TCPSocket:

    • 直接尝试连接到容器监听的特定TCP端口,如果能够建立连接,则表明容器服务处于活动状态。例如:

      livenessProbe:
      tcpSocket:
      port: 9000

      这个探针将试图连接到容器的9000端口,如果能够成功建立连接,则认为容器是健康的。

综上所述,除了以上 probe 类型外,LivenessProbe 还可以配置超时时间 (timeoutSeconds)、检查间隔 (periodSeconds) 和连续失败次数阈值 (failureThreshold) 等参数,以便更精细地控制探测行为。当 LivenessProbe 失败超过设定的阈值时,Kubernetes 会重启相应的容器。

posted @   黄嘉波  阅读(85)  评论(0编辑  收藏  举报
努力加载评论中...
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波
点击右上角即可分享
微信分享提示