【问题标题】:Separate Kubernetes ConfigMap data fields into individual files将 Kubernetes ConfigMap 数据字段分离到单独的文件中
【发布时间】:2021-09-12 16:20:26
【问题描述】:

我在玩 kubernetes ConfigMaps。在official documentation 中,我在data 字段中看到“类似文件的键”:

apiVersion: v1
kind: ConfigMap
metadata:
  name: game-demo
data:
  # file-like keys
  game.properties: |
    enemy.types=aliens,monsters
    player.maximum-lives=5    
  user-interface.properties: |
    color.good=purple
    color.bad=yellow
    allow.textmode=true    

是否可以将这些“类似文件的键”分解为不同的文件并在此 ConfigMap 资源中引用它们?

我看到了这种方法的几个好处:

  • 精简了 ConfigMap
  • “类文件”配置的正确语法高亮显示
  • 可以针对“类文件”配置运行自动格式化程序

【问题讨论】:

  • 没有办法用裸 kubernetes 清单来实现这一点:使用 Helm 或 Kustomize 都是可行的

标签: kubernetes configmap


【解决方案1】:
  • “类文件”配置的正确语法高亮显示
  • 可以针对“类文件”配置运行自动格式化程序

是的,将文件作为适当的文件保存在您的机器上和 Git 中会更容易。

我建议您使用kustomize feature of kubectl 并使用configMapGenerator 来生成ConfigMap。

示例kustomization.yaml(保存在与您的文件相同的目录中,例如config/

configMapGenerator:
- name: game-demo
  files:
  - game.properties
  - user-interface.properties

然后您可以使用(如果您的配置在 config/ 中)应用(并生成 configMap):

kubectl -k config/

或者您可以使用以下命令预览“生成的”configMap:

kubectl kustomize config/

【讨论】:

    猜你喜欢
    • 2017-03-14
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2012-12-04
    • 2016-03-29
    • 1970-01-01
    • 2019-11-26
    • 2022-01-12
    相关资源
    最近更新 更多