有没有办法为damonset生成的每个pod应用不同的配置映射?



我正在使用filebeat作为守护程序集,我希望每个生成的pod都导出到logstash的单个端口。

有没有一种方法可以用于此?

No.您不能为同一守护程序集或部署的 Pod 提供不同的配置映射。如果您希望守护程序的每个 pod 具有不同的配置,那么您可以挂载一些本地卷(使用 hostpath),以便所有 Pod 都将从该路径获取配置,并且每个节点上的配置可以不同。或者,您需要使用不同的配置映射部署不同的守护程序集,并为每个守护进程选择不同的节点。

正如你可以在这里读到的:

守护进程集确保所有(或部分)节点运行 Pod 的副本。

。基于单个模板Pod副本,这就是为什么您无法指定由DaemonSet Controller管理的不同Pods使用的不同ConfigMaps的原因。

作为替代方法,您可以配置许多不同的DaemonSets其中每个将负责仅在特定节点上运行模板中指定的Pod的副本。

另一种选择是使用静态 Pod:

可以通过将文件写入某个目录来创建 Pods 库贝莱特观看。这些称为静态 Pod。与守护程序集不同, 静态 Pod 无法使用 kubectl 或其他 Kubernetes API 进行管理 客户。静态 Pod 不依赖于 apiserver,使它们 在集群引导情况下很有用。此外,静态 Pod 可能是 将来已弃用。

这里描述了创建静态 Pod的整个过程。

我希望它有所帮助。

您可以使用每个节点中包含配置的 ConfigMapspec.nodeName并向您的 Pod 公开环境。然后,您的 Pod 可以知道它在哪个节点上运行,并决定它加载哪个配置。

相关内容

最新更新