k8s中的探针(probe)介绍
如果响应的状态是“SERVING”,则认为诊断成功。对容器的ip地址上的指定端口执行TCP检查。如果端口打开,则诊断被认为是成功的。探针是一种用于监控容器健康状态的机制,它可以定期检查容器的状态,并在容器出现故障时采取相应的措施,以保证应用程序的高可用性和稳定性。如果就绪态探测失败,端点控制器将从与pod匹配的所有服务器的端点列表中删除该pod的ip地址。如果响应的状态码大于等于200且小于400
目录
一、探针的作用
探针是一种用于监控容器健康状态的机制,它可以定期检查容器的状态,并在容器出现故障时采取相应的措施,以保证应用程序的高可用性和稳定性。
官方文档中有详细的实操介绍:
二、探针的类型
1.livenessprobe
指示容器是否正在运行。如果存活态探测失败,则kubelet会杀死容器,并且容器将根据其重启策略决定未来。
2.readinessprobe
指示容器是否准备好为请求提供服务。如果就绪态探测失败,端点控制器将从与pod匹配的所有服务器的端点列表中删除该pod的ip地址。
3.startupprob
指示容器中的应用是否已经启动。如果提供了启动探针,则所有其他探针都会被禁用,直到此探针成功为止。
三、检查机制
1.exec
在容器内执行指定命令。如果命令退出时返回码为0则认为诊断成功。
2.grpc
使用grpc执行一个远程过程调用。目标应该实现grpc健康检查。如果响应的状态是“SERVING”,则认为诊断成功。grpc探针是一个Alpha特性,只有在你启用了“GRPCContainerProbe”特性门控时才能使用。
3.httpGet
对容器的ip地址上指定端口和路径执行HTTP GET请求。如果响应的状态码大于等于200且小于400,则诊断被认为是成功的。
4.tcpSocket
对容器的ip地址上的指定端口执行TCP检查。如果端口打开,则诊断被认为是成功的。如果远程系统(容器)在打开连接后立即将其关闭,这算作是健康的。
更多推荐
所有评论(0)