#kubernetes-helm #kustomize
Вопрос:
Я использую kustomize
для генерации различных configMap
, как в следующем примере: —
# kustomization.yaml
configMapGenerator:
- name: my-config-path # <-- My original name.
files:
- file1.txt
- file2.txt
- ...
- fileN.txt
Результат выглядит как в следующем примере: —
# my-configmap.yaml
apiVersion: v1
data:
file1.txt: |
...
file2.txt: |
...
fileN.txt |
...
kind: ConfigMap
metadata:
name: my-config-path-mk89db6928 # <-- There is a hashed value appended at the end.
С другой стороны, у меня есть сторонняя helm
программа, которая требует переопределения values.yaml
, как показано ниже: —
# third-party-chart-values.yaml
customArguments:
- --config.dir=/config
...
volumes:
- mountPath: /config
name: my-config-path # <--- Here, I would like to replace with `my-config-path-mk89db6928`.
type: configMap
Есть ли у нас какой-либо способ заменить my-config-path
at third-party-chart-values.yaml
на сгенерированное значение my-config-path-mk89db6928
из названного файла my-configmap.yaml
? (Обратите внимание, что при configMap
изменении хэширования, например mk89db6928
, также может быть изменен.)
Ответ №1:
Вы хотите сохранить хэш? Потому что вы могли бы предотвратить это с помощью:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
generatorOptions:
disableNameSuffixHash: true
Тогда у тебя было бы предсказуемое имя. Хотя это могло бы привести к конфликту, если бы вы установили одну и ту же диаграмму управления более одного раза в одном и том же пространстве имен.