readiness与liveness

Posted jayce9102

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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时,直接删除标签即可 

 

以上是关于readiness与liveness的主要内容,如果未能解决你的问题,请参考以下文章

将 <optgroup> 与 form.fields.queryset 一起使用?

DJango filter_queryset

Django QuerySet 与原始查询性能

Django Admin:获取根据 GET 字符串过滤的 QuerySet,与更改列表中看到的完全一样?

Django QuerySet 与原始 SQL 性能注意事项

Django入门与实践-第20章:QuerySets(查询结果集)(完结)