readiness与liveness

一、liveness(存活探针)方式

  1. HTTP GET:对指定的端口和路径执行http get请求,返回非错误代码即代表正常
  2. TCP socket:对指定端口建立TCP链接,链接通过则代表正常
  3. Exec:用户自定义命令,执行的状态返回0则代表正常
  4. 异常后处理方式:重启容器或重建pod 
二、readiness(就绪探针)
  1. HTTP GET:对指定的端口和路径执行http get请求,返回非错误代码即代表正常
  2. TCP socket:对指定端口建立TCP链接,链接通过则代表正常
  3. Exec:用户自定义命令,执行的状态返回0则代表正常
  4. 探测默认每10秒检查一次 
  5. 异常处理方式:从service中删除该pod,直到pod再次就绪变为可访问状态,再次将pod加入到service中

 三、对比使用场景

  1. liveness保证服务的高可用性,服务异常时使服务恢复
  2. 保证业务的准确性,异常的pod不对外提供服务
  3. 生产环境务必添加readiness,避免服务未启动完成就开始接受请求
  4. 废话补充:
    1)在实际应用场景中,删除pod应该通过使用删除操作或修改pod标签操作,而不是直接修改探针来从服务中移除pod
    2)在实际场景中,从某个service中删除或添加pod,可以在pod的标签中加入enabled=true,在service的标签选择器中也加入enabled=true,在想删除pod时,直接删除标签即可 

猜你喜欢

转载自www.cnblogs.com/jayce9102/p/10629291.html