在Rancher上使用configMap UI打开/关闭活动探测



我正在寻找一种方法,我们可以在Rancher上使用configMap UI打开/关闭live探针,同时它不需要重新部署pod。

详细信息:假设已经在pod上配置了活动探针。接下来我有一个布尔标志,它被设置为false,所以如果为false,活体探测器将停止探测pod。其他时间,如果设置布尔标志为true,活动探测将恢复探测。所有这些都需要在不重新部署pod的情况下工作。以下是我的初步想法:

  1. 有一个configMap UI(在Rancher上列出的configMap),它持有布尔标志来打开/关闭活动探测像这样:
app.liveness.probe.mode=false
  1. 接下来,我想将上述布尔标志吸收到部署中。
{{ if app.liveness.probe.mode }}
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 70
periodSeconds: 10
{{ end }}
  1. 我不确定如何在Rancher上引用configMap布尔标志进入部署。yaml文件。
  2. 或者是否有其他方法可以在不重新部署pod的情况下控制live探针的开/关开关?

听起来好像你想暂时关闭你的live探针,以保持你的Pod运行,即使Pod在技术上不健康。

你考虑过使用准备探针吗?

  1. 所以,你删除你的live探针,这基本上保持你的Pod运行只要你的应用程序正在运行。

  2. 定义一个Readiness探针,用于在应用程序端点上执行HTTP检查。当该端点返回200时,您的Pod接收到流量。如果您想将流量从Pod中取出,同时保持Pod运行,则准备就绪探测器必须返回错误代码(>=400)。

  3. 要使用ConfigMaps动态地完成此任务,您可以将ConfigMap作为卷挂载到应用程序容器中,并将配置文件放在容器文件系统中。配置文件中包含像readninessProbe.active=true这样的标志。该文件由Readiness探针端点读取,并根据布尔值返回200或500。

当然,类似的方法可以用来控制您的Livness探针端点,但是K8s保持pod运行但从它们中获取流量的机制是由Readiness探针负责的。

相关内容

  • 没有找到相关文章