如何让基于 ConfigMapGenerator 的配置更智能

时间:2021-04-28 10:38:56

标签: kubernetes kubectl kustomize

我喜欢带有后缀哈希的 configMapGenerator,因为它会强制重新部署使用特定配置的 pod。但是修改config后的diff输出只是delete和create,不太理想。有没有办法获得 configMapGenerator 生成的带有后缀哈希的更智能的差异配置图?

编辑:

例如,如果我有 kustomization.yaml:

generatorOptions:
  disableNameSuffixHash: false

 configMapGenerator:
  - name: nginx-conf
    files:
    - nginx.conf=config/nginx.conf
  1. 让我们假设第一次 kubectl apply -k 生成 nginx-conf-aaaa 配置映射。

  2. 编辑config/nginx.conf

  3. 让我们假设 kubectl apply -k 将生成 nginx-config-bbbb

有没有办法在应用更改之前区分 nginx-config-aaaanginx-config-bbbb

1 个答案:

答案 0 :(得分:1)

你可以这样做

  • 获取当前版本的 ConfigMap 并将其写入文件 current.yaml

    kubectl get configmap nginx-conf-aaaa -o=yaml > ./current.yaml

  • 进行更改后,在 new.yaml

    中获取新版本的 ConfigMap

    kubectl kustomize . > ./new.yaml

  • 然后执行git diff

    git diff --no-index ./current.yaml ./new.yaml

如果您对差异感到满意,请继续应用更改。