当前位置: 首页 > 知识库问答 >
问题:

为什么既要活跃又要准备就绪

暨高洁
2023-03-14

在为kubernetes吊舱做健康检查的时候,为什么在我们已经保持了准备状态探测器的情况下还需要活性探测器呢?

Readision probe已经在检查pod中的应用程序是否准备好为请求提供服务,这意味着pod是活动的。但是,为什么要进行活性探测呢?

共有1个答案

澹台镜
2023-03-14

探针有不同的意义,结果也不同:

  • 活性探测失败->重新启动容器
  • 失败就绪探测->不向该POD发送流量

你不能从准备就绪来决定活跃度,反之亦然。仅仅因为pod不能接受流量正确知道,并不意味着需要重新启动,它可以意味着它只是需要时间来完成一些工作。

如果您部署的是php应用程序,那么这两个应用程序可能是相同的,但是k8s是一个通用系统,它支持许多类型的工作负载。

发件人:https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readid-probes/

kubelet使用活跃度探测来了解何时重新启动容器。例如,活跃度探测可以捕获死锁,即应用程序正在运行,但无法取得进展。在这样的状态下重新启动容器有助于使应用程序更可用,尽管存在bug。

kubelet使用Readision probes来了解容器何时准备好开始接受流量。当一个吊舱的所有容器都准备就绪时,它就被认为准备就绪了。此信号的一个用途是控制哪些Pod用作服务的后端。当Pod未就绪时,它将从服务负载均衡器中移除。

旁注:实际上,准备应该是活跃的一个子集,这意味着准备意味着活跃(而不活跃意味着准备失败)。但那并不能改变上面的解释,因为如果你只有Readity,你只能暗示什么时候不需要重新启动,这和根本没有任何重新启动的探针是一样的。同样因为探针是单独定义的,所以对于k8s不能保证一个是另一个的子集

 类似资料:
  • 本文向大家介绍为什么HTML5只需要写就可以?相关面试题,主要包含被问及为什么HTML5只需要写就可以?时的应答技巧和注意事项,需要的朋友参考一下 HTML5 之前基于 SGML, SGML 需要指定 DTD 解析文档, 可通过<!DOCTYPE>指定要使用的 DTD, 若不写则会进入怪异模式; HTML5 不基于 SGML, 不需要指明 DTD, 其<!DOCTYPE>只有一种: .

  • 在正式使用Yearning前,你需要先设置如下setup(请务必花几分钟时间阅读!)。 创建用户并确认其角色 创建权限组并将权限组赋予给对应的用户 添加数据源信息 为数据源创建自定义审核规则 在设置页面配置各项配置信息 根据需求调整自定义审核规则 创建用户并确认其角色 创建用户 在Yearning中用户可以通过以下方式创建: 在 管理->用户 页面admin用户自行创建用户。 打开 管理->设置

  • 任何数据库都需要备份,备份数据是维护数据库必不可少的操作。 在学习如何备份数据之前,我们先了解一下数据库备份是为了应对哪些场景?为什么数据库需要备份? 备份就是为了防止原数据丢失,保证数据的安全。当数据库因为某些原因造成部分或者全部数据丢失后,备份文件可以帮我们找回丢失的数据。因此,数据备份是很重要的工作。 常见数据库备份的应用场景如下。 数据丢失应用场景: 人为操作失误造成某些数据被误操作 软件

  • 本文向大家介绍为什么要用 redis ?为什么要用缓存?相关面试题,主要包含被问及为什么要用 redis ?为什么要用缓存?时的应答技巧和注意事项,需要的朋友参考一下 主要从“高性能”和“高并发”这两点来看待这个问题。 高性能: 假如用户第一次访问数据库中的某些数据。这个过程会比较慢,因为是从硬盘上读取的。将该用户访问的数据存在缓存中,这样下一次再访问这些数据的时候就可以直接从缓存中获取了。操作缓

  • 校招C++开发要准备到什么程度?