При создании развертываний я сейчас пытаюсь найти причину, по которой следует перенести переменные среды для контейнера в конфигурационную карту.Таким образом, вместо определения переменных среды с помощью
env:
- name: LANGUAGE
value: "English"
в deploy.yaml используйте
env:
- name: LANGUAGE
valueFrom:
configMapKeyRef:
name: language
key: LANGUAGE
или
envFrom:
- configMapRef:
name: env-configmap
с дополнительным configmap.yaml, например, так:
apiVersion: v1
kind: ConfigMap
metadata:
name: env-configmap
data:
LANGUAGE: English
Конечно, при использовании конфиденциальных значений их следует читать из секрета, но это не относится к неконфиденциальным переменным.Единственное преимущество, которое я вижу, заключается в том, что я могу повторно использовать эти конфигурационные карты, но кроме этого это только усложняет диаграмму, поскольку теперь я должен обеспечить перезапуск модулей и т. Д.
Итак: что является другимпреимущества при использовании ConfigMaps для чтения переменных среды?