K8S之liveness和readness探针的区别

探针是由  kubelet 对容器执行的定期诊断。要执行诊断,kubelet 调用由容器实现的  Handler。有三种类型的处理程序:

  • Ø ExecAction:在容器内执行指定命令。如果命令退出时返回码为 0 则认为诊断成功。
  • Ø TCPSocketAction:对指定端口上的容器的 IP 地址进行 TCP 检查。如果端口打开,则诊断被认为是成功的。
  • Ø HTTPGetAction:对指定的端口和路径上的容器的 IP 地址执行 HTTP Get 请求。如果响应的状态码大于等于200 且小于 400,则诊断被认为是成功的

Liveness和Readness:

liveness:探针的作用是判断pod是否运行,如果探针检测失败,则kubelet会杀死容器,并且受到pod里定义的重启策略影响,如果重启策略为Alway那么就会重启;

               如果不配置liveness探针,那么比如CPU跑满导致服务无响应的时候,pod是不会重新部署的

readness:探针的作用是判断Pod是否准备就绪 接收流量,如果检测通过会接收流量,如果不通过就不会接收流量

 

posted @ 2021-02-02 18:39  差点点温柔  阅读(679)  评论(0编辑  收藏  举报