一、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的更多相关文章

  1. Kubernetes 健康检查的两种机制:Liveness 探测和 Readiness 探测

    Kubernetes 健康检查的两种机制:Liveness 探测和 Readiness 探测,并实践了健康检查在 Scale Up 和 Rolling Update 场景中的应用.kubelet使用启 ...

  2. Kubernetes Pod中容器的Liveness、Readiness和Startup探针

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 探针的作用 在Kubernetes的容器生命周期管理中,有三种探针,首先要知道,这探针是属于容器的,而不是Pod: 存 ...

  3. kubernetes 实战4_命令_Configure Pods and Containers

    Configure Service Accounts for Pods A service account provides an identity for processes that run in ...

  4. Kubernetes之Controllers一

    ReplicaSet is the next-generation Replication Controller. The only difference between a ReplicaSet a ...

  5. kubernetes 应用基本准则

    不要直接部署裸的Pod. 为工作负载选择合适的Controller. 使用Init容器确保应用程序被正确的初始化. 在应用程序工作负载启动之前先启动service. 使用Deployment hist ...

  6. Kubernetes Pod 健康检查

    参考文档: https://jimmysong.io/kubernetes-handbook/guide/configure-liveness-readiness-probes.html 一.Pod的 ...

  7. 使用Quarkus在Openshift上构建微服务的快速指南

    在我的博客上,您有机会阅读了许多关于使用Spring Boot或Micronaut之类框架构建微服务的文章.这里将介绍另一个非常有趣的框架专门用于微服务体系结构,它越来越受到大家的关注– Quarku ...

  8. 入门了解Service Mesh + Istio?从本文开始

    下周六,深圳,阔别已久的线下技术沙龙要和你见面啦! 现场有Rancher Labs研发经理demo刚刚发布的Rancher 2.3中的Istio.Windows容器.集群模板等功能及使用,还有k3s首 ...

  9. ASP.NET Core on K8S深入学习(6)Health Check

    本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 一.关于K8S中的Health Check 所谓Health Check,就是 ...

随机推荐

  1. 最后一个对象属性后边不要加豆号的bug,血淋淋的教训啊,模块化开发IE7下的严重错误,养成好习惯

    最近总是写滚动图效果,重复的劳动后,决定写一个滚动图的封装插件.结果写完后在其他浏览器都可以用,却IE7下毫无反应.反复测试各种检查后,发现竟然是在参数对象最后一个属性后多加了个逗号,结果就死在了IE ...

  2. SG函数的理解集应用

    转载自知乎牛客竞赛——博弈论入门(函数讲解+真题模板) SG函数 作用 对于一个状态i为先手必胜态当且仅当SG(i)!=0. 转移 那怎么得到SG函数尼. SG(i)=mex(SG(j))(状态i可以 ...

  3. js 对小数进行格式化(保留小数,去除小数后的0)

    // 如果去零时需要保留位数: (比如 19.520100 --> 19.52) parseFloat(Number(19.520100).toFixed(2)) // 如果只想去除小数点后多余 ...

  4. MySQL InnoDB primary key根节点常驻内存

    mysql的InnoDB存储引擎在设计时是将根节点常驻内存的,也就是说查找某一键值的行记录时最多只需要1~3次磁盘I/O操作.

  5. UFUN 函数 UF_UI UF_DISP函数( UF_UI_select_with_class_dialog 、UF_DISP_set_highlight)

    //设置class_dialog选择过滤 static int init_proc(UF_UI_selection_p_t select,void* user_data) { //过滤类别的个数 ; ...

  6. OOO的CSS

    应ooo要求 寻找他手写一千年的css的继承人 html { background:#f7f7f7 url(images/bg-pattern.jpg) } body { margin:; paddi ...

  7. Linux系统压缩命令汇总

    01-.tar格式解包:[*******]$ tar xvf FileName.tar打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩! ...

  8. join的用法

    var array = ['周欢', '周圆圈'] var str = array.join(' ') console.log(str) // 周欢 周圆圈 join()的括号里面的表示的是分隔符号

  9. 【技术博客】JWT的认证机制Django项目中应用

    开发组在开发过程中,都不可避免地遇到了一些困难或问题,但都最终想出办法克服了.我们认为这样的经验是有必要记录下来的,因此就有了[技术博客]. JWT的认证机制Django项目中应用 这篇技术博客基于软 ...

  10. Linux系统中日志级别详情

    日志信息分类 1.等级由低到高:debug<info<warn<Error<Fatal; 2.区别: debug 级别最低,可以随意的使用于任何觉得有利于在调试时更详细的了解系 ...