Как использовать значения из ConfigMap с ключом / значением, разделенным одинаковым символом (=)? - PullRequest
0 голосов
/ 03 апреля 2019

Учитывая, что я создал ConfigMap с таким файлом:

VARIABLE1=foo
VARIABLE2=bar

Есть ли способ доступа к этим значениям в Kubernetes или он должен быть в формате YAML?

1 Ответ

3 голосов
/ 03 апреля 2019

Допустим, у вас есть файл с именем 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

Как вы можете видеть, различные переменные стали отдельными парами ключ-значение в этом случае.

В справочной документации есть еще много примеров

...