kubernetes - 有没有办法为 Kubernetes Pod 创建包含多个文件的 configMap?

标签 kubernetes configmap

我想使用 Kubernetes 部署 Grafana,但我不知道如何将配置的仪表板附加到 Pod。将它们作为键值数据存储在 configMap 中对我来说似乎是一场噩梦——这里的例子 https://github.com/do-community/doks-monitoring/blob/master/manifest/dashboards-configmap.yaml - 在我的情况下,我会有更多的 JSON 仪表板 - 因此是苛刻的意见。

我在将 Grafana 设置、数据源和仪表板提供程序配置为 configMap 时没有遇到问题,因为它们是在单个文件中定义的,但仪表板的情况对我来说有点棘手。

我的所有仪表板都存储在“/files/dashboards/”下的 repo 中,除了前面描述的方式之外,我想知道如何将它们提供给 Pod。想知道使用 hostPath 对象一秒钟,但对不同主机上的多节点部署没有意义。

也许它很容易 - 但我对 Kubernetes 还很陌生,无法弄清楚 - 所以任何帮助都将不胜感激。谢谢!

最佳答案

您可以从目录中的一组 fo 文件自动生成 ConfigMap。每个文件将是 ConfigMap 中的一个键值对,文件名是键,文件内容是值(就像在链接的示例中一样,但自动完成而不是手动完成)。

假设您的仪表板文件存储为,例如:

files/dashboards/
├── k8s-cluster-rsrc-use.json
├── k8s-node-rsrc-use.json
└── k8s-resources-cluster.json

您可以运行以下命令直接在集群中创建ConfigMap:

kubectl create configmap my-config --from-file=files/dashboards

如果您只想为 ConfigMap 生成 YAML list ,您可以执行以下操作:

kubectl create configmap my-config --from-file=files/dashboards --dry-run -o yaml >my-config.yaml

关于kubernetes - 有没有办法为 Kubernetes Pod 创建包含多个文件的 configMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59070652/

相关文章:

Kubernetes - 如何将信任库路径和密码传递给 JVM 参数

kubernetes - 与configmap通信时出错

mongodb - 如何推迟 kubernetes 的 postStart 生命周期钩子(Hook)中命令的执行

go - 库伯内斯 403 : Cannot patch pods in the namespace

kubernetes - Istio (1.6.4) 在 K8s 上进行日志聚合的最佳实践

kubernetes 配置映射数据值外化

kubernetes - Kubernetes ConfigMaps 的一致性保证?

kubernetes - kubernetes在所有Pod副本中将目录挂载为只读

jenkins - CI/CD管道中的工作流程-Jenkins,Kubernetes和SVN/GitHub代码存储库

nginx - Kubernetes whitelist-source-range block 而不是白名单 IP