Допустим, у вас есть файл с именем z
с содержимым выше.У вас есть две опции, чтобы превратить это в ConfigMap.
Опция 1 (--from-file)
$ kubectl create cm cm1 --from-file=z
Это приведет к объекту, подобному этому:
apiVersion: v1
kind: ConfigMap
metadata:
name: cm1
data:
z: |
VARIABLE1=foo
VARIABLE2=bar
Нет прямого способа проецировать одно значение из этого ConfigMap, поскольку он содержит только один большой двоичный объект.Однако вы можете сделать это из оболочки, используемой в command
источника контейнера, который создает блоб (если вы проецируете его как файл), а затем использовать результирующие переменные среды.
Опция 2 (--from-env-file)
$ kubectl create cm cm2 --from-env-file=z
Это приведет к объекту, подобному этому:
apiVersion: v1
kind: ConfigMap
metadata:
name: cm2
data:
VARIABLE1: foo
VARIABLE2: bar
Как вы можете видеть, различные переменные стали отдельными парами ключ-значение в этом случае.
В справочной документации есть еще много примеров