赞
踩
本文分享自华为云社区《Kubernetes探针原理介绍》,作者: 可以交个朋友。
容器探针(Container Probes)是一种机制,由 kubelet 对容器执行定期的探查,从而获取容器的状态。探针的类型有三种:
启动探针(StartupProbe)主要用于检测容器内的应用是否已经成功启动并完成初始化任务。它的主要作用有以下几点:
存活探针(Liveness Probe)主要作用是检测容器内主进程或服务是否仍然运行正常且响应健康检查。具体来说:
就绪探针(Readiness Probe)主要作用是检测容器是否已经准备好对外提供服务。具体来说:
探针实现方式有三种:
- livenessProbe: #可指定其他两种探针类型
-
- httpGet: #指定探针方式
-
- path: /healthz #http请求路径
-
- port: 8080 #请求端口
-
- httpHeaders: # 可选,用于设置自定义HTTP头部
-
- - name: Custom-Header
-
- value: huawei
TCP Socket检查: Kubernetes 尝试与容器上指定的端口建立 TCP 连接。如果能够成功建立连接,则说明探测成功。
- livenessProbe:
-
- tcpSocket:
-
- port: 8080
- livenessProbe:
-
- exec:
-
- command:
-
- - cat
-
- - /tmp/health
启动探针、存活探针和就绪探针同时支持这三种方式。每种探针可以选择不同探测方式
Kubernetes中的探针都支持一些通用的参数来定义它们的行为。以下是这些探针通常使用的配置参数:
完整配置示例:
- livenessProbe:
-
- #可以选择 httpGet、tcpSocket 或 exec 中的一种
-
- httpGet:
-
- path: /health
-
- port: 8080
-
- httpHeaders:
-
- - name: Custom-Header
-
- value: huawei
-
- #通用参数:
-
- initialDelaySeconds: 30
-
- periodSeconds: 10
-
- timeoutSeconds: 1
-
- successThreshold: 1
-
- failureThreshold: 3
-
- terminationGracePeriodSeconds: 30
-
- readinessProbe: # 就绪探针配置类似
-
- startupProbe: # 启动探针配置也相似
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。