【问题标题】:Is there an option to configure watch or listener on ConfigMap and Secret resource是否可以选择在 ConfigMap 和 Secret 资源上配置监视或侦听器
【发布时间】:2021-03-04 21:49:09
【问题描述】:

当 Configmap / Secret 资源对象发生变化时,是否有注释或配置外部操作的方式来实现内部逻辑。

kind: ConfigMap
....
data:
key1:val1
key2:val2

当 ConfigMap 资源发生变化时(添加了 key3:val3),提供注解/方式来配置一些可以实现内部逻辑的操作。例如,我的内部逻辑可以是推出重新启动部署以重新进行这些更改。(示例场景:操作可以是一个 python 文件,我将在其中运行部署推出)。

为什么需要这个: 使用 kubelet 同步周期 + 缓存传播延迟在 pod/容器内连续观察已挂载的文件系统可能会引入一些延迟。这将影响必须立即发生的应用程序逻辑实现。

【问题讨论】:

  • 您可能会阅读 Kubernetes controllers。您还可以创建一个描述您的部署配置的custom resource,供控制器执行;如果将这两个部分放在一起,则为operator,并且有一些工具可以简化它们的构建。

标签: kubernetes


【解决方案1】:

你好@sriniev,欢迎来到 Stack Overflow

您正在寻找的模式(观察 ConfigMap 中的变化并对其做出反应)例如被 prometheus operator 使用,或者作为一个名为 configmap-reload 的独立项目/二进制文件使用,它可以在 sidecar 容器中运行。

请尝试从他们那里借鉴一些关键逻辑。

【讨论】:

  • 嗨@Nepomucen,我需要通用侦听器模式。我认为上述模式只有在监控单个 configmap 时才有效。或者我最终可能会在每个微服务 pod 中运行 sidecar 容器。因为我的最终行动是在 ConfigMap 内容发生变化时推出部署集,并且我正在考虑副本数超过 1 时的竞争条件。 microservice-configmap microservice-1-poda :microservice-1 的应用容器,microservice- 1的sidecarcontainer microservice-1-podb : microservice-1的app容器,microservice-1的sidecarcontainer
  • @sriniev,您也可以考虑使用来自 bitnami 的更通用的 kubernetes 观察程序,它可以订阅大多数流行的 K8S 资源,而不是仅使用 ConfigMap。请看看他们的项目here
猜你喜欢
  • 2021-05-31
  • 1970-01-01
  • 2019-05-09
  • 1970-01-01
  • 2016-06-14
  • 2014-01-21
  • 1970-01-01
  • 2011-09-07
  • 1970-01-01
相关资源
最近更新 更多