网站的特征,珠海广告设计与制作公司,分销商城极差系统,太原app定制Kubernetes 3种探针介绍 LivenessProbe#xff08;存活探针#xff09; LivenessProbe 用于检查容器是否仍然活着。如果探针检测到容器已经失去响应#xff0c;Kubernetes 将重启该容器。这通常用来修复由于内部状态错误或死锁引起的程序失效问题。 作用#xff1a;检测容器…Kubernetes 3种探针介绍 LivenessProbe存活探针 LivenessProbe 用于检查容器是否仍然活着。如果探针检测到容器已经失去响应Kubernetes 将重启该容器。这通常用来修复由于内部状态错误或死锁引起的程序失效问题。 作用检测容器是否处于“存活”状态如果探针失败则容器会被重启。 使用场景适合长时间运行的容器当容器出现死锁或无法继续正常工作时通过 LivenessProbe 可以自动恢复服务。 ReadinessProbe就绪探针 ReadinessProbe 用于检查容器是否已经准备好处理流量。如果探针检测失败Kubernetes 会将Pod从服务的负载均衡中移除避免将流量发送到不健康的Pod。 作用判断容器是否可以处理请求确保只有当容器准备好时它才会接收流量。 使用场景用于检测容器是否能够对外提供服务。例如应用初始化需要加载配置文件或依赖服务时可以通过 ReadinessProbe 来避免服务在容器准备好之前接收请求。 StartupProbe启动探针 StartupProbe 用于检测容器的启动状态。它专门用于检测启动时间较长的容器确保容器在完成启动之前不会被 LivenessProbe 错误地判定为不健康。如果配置了 StartupProbe它将代替 LivenessProbe 进行探测直到探针成功。 作用判断容器是否已经完成启动避免因启动时间较长导致容器过早被 LivenessProbe 重启。 使用场景适用于那些启动时间较长的应用如大型数据库或复杂的微服务它们可能需要更多的时间来初始化。
配置参数说明
initialDelaySeconds容器启动后第一次执行健康检查的延迟时间。
periodSeconds两次健康检查之间的间隔时间。
timeoutSeconds健康检查的超时时间如果超过这个时间没有收到响应认为检查失败。
failureThreshold连续失败多少次后认为容器不健康并执行重启操作。
successThreshold连续成功多少次后认为容器恢复健康。检测容器的健康状态方式
exec 方式 exec 方式通过在容器内执行命令来检测健康状态。如果命令的退出状态码为 0则表示健康否则表示不健康Kubernetes 会重启容器。
livenessProbe:exec:command:- cat- /tmp/healthyinitialDelaySeconds: 5periodSeconds: 10# 在这个例子中Kubernetes每10秒执行一次 cat /tmp/healthy 命令如果 /tmp/healthy 文件存在且命令成功执行容器就被认为是健康的。如果文件不存在或命令失败Kubernetes 会重启容器。httpGet 方式 httpGet 方式通过发送HTTP请求到容器内的特定端点根据返回的HTTP状态码来判断容器是否健康。返回2xx或3xx的状态码表示健康其他状态码表示不健康。
livenessProbe:httpGet:path: /healthzport: 8080httpHeaders:- name: Custom-Headervalue: AwesomeinitialDelaySeconds: 3periodSeconds: 5#在这个例子中Kubernetes每5秒向容器的/healthz端点发送一个HTTP GET请求。如果返回的状态码是2xx或3xx容器被认为是健康的。如果返回其他状态码容器会被重启tcpSocket 方式 tcpSocket 方式通过尝试连接容器的TCP端口来检测健康状态。如果连接成功则表示容器健康否则容器将被重启。
livenessProbe:tcpSocket:port: 8080initialDelaySeconds: 10periodSeconds: 20
# 在这个例子中Kubernetes每20秒尝试连接容器的8080端口。如果连接成功容器被认为是健康的如果连接失败容器将被重启