kubernetes如何处理livenessProbe失败?

问题描述

我想了解如果在kubernetes中进行活动探测失败,幕后会发生什么?

这里是上下文:

我们正在使用 Helm Chart 在Kubernetes集群中部署应用程序。

我们有状态服务和无头服务。为了初始化mTLS,我们创建了'job'类型,在'command'中传递了shell和python脚本作为参数。

我们在'docker image'中编写了'docker-entrypoint.sh'以便进行一些初始化工作。

在statefulSet内,我们将shell脚本作为命令传递给'livenessProbe',该脚本每30秒运行一次。

我想知道我的livenessProbe是否由于任何原因而失败: 1.舵表是否监视此探测器并重启容器,还是K8的责任? 2.如果重新启动容器,我的“ docker-entryPoint.sh”会执行吗? 3.容器重新启动时,“作业”会执行吗?

Kubernetes如何处理livenessProbe故障以及需要采取什么步骤?

解决方法

  1. 这不是掌舵人的责任。在准备就绪探测失败的情况下,重新启动Pod是kubernetes的责任。
  2. 是的docker-entryPoint.sh是在容器启动时执行的。
  3. 作业需要再次应用于集群才能执行。另外,您可以使用initcontainer,它保证可以在主容器启动之前运行。
  4. Kubelet杀死容器并在活动性探测失败时重新启动它。
,

要回答您的问题,活动性探测和就绪性探测基本上是操作,它们会调用您的应用程序pod来检查其是否健康。 这与头盔图表无关。 一旦活动性或就绪性探针失败,容器就会重新启动。 我会说这些活动探针故障会影响您的应用程序正常运行时间,因此请使用滚动部署并自动扩展您的pod数量以启用可用性。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...