openshift 3.11 - процесс oc - как передать переменные env?

Я хочу передать переменную среды в моей команде процесса openshift oc.

Я вижу вариант для файла параметров, но ничего для переменной env.

Вопрос: params = переменные среды? Я имею в виду, могу ли я установить переменные env с помощью этой опции? Я пробовал это, но после развертывания мне не удалось установить никакую переменную env.

Я просматриваю документ ниже. https://docs.openshift.com/container-platform/3.11/dev_guide/templates.html

Единственный способ, которым я могу настроить свои переменные env, - как показано ниже

oc process -f helloworld.yaml | oc create -f -
curl http://servertofetchenvironmentvariables:5005/env/dev/helloworld | oc set env dc/helloworld -

Это заканчивается двумя развертываниями. Любое указание на решение этой проблемы и объединение ее в одну команду будет полезно. Мне нужно использовать шаблон для создания своего приложения.


person just10minutes    schedule 15.06.2021    source источник


Ответы (1)


Вопрос: params = переменные среды?

Нет, параметры применяются только к вашему файлу шаблона. Ваш файл шаблона содержит заполнители, такие как ${MY_PASSWORD}, которые затем заменяются при использовании oc process.

Я имею в виду, могу ли я установить переменные env с помощью этой опции?

Вы можете, но вам нужно будет отредактировать файл шаблона, чтобы включить все эти переменные среды и соответствующий заполнитель.

Единственный способ, которым я могу настроить свои переменные env, - как показано ниже

Это определенно должно сработать, так как затем вы обновите созданный DeploymentConfig (dc/helloworld в вашем случае) новыми переменными среды.

Хорошей альтернативой может быть заполнение переменных среды с помощью ConfigMap (чтобы они были полностью отделены от вашего развертывания), используя envFrom следующим образом:

apiVersion: v1
kind: Pod
metadata:
  name: dapi-test-pod
spec:
  containers:
    - name: test-container
      image: k8s.gcr.io/busybox
      command: [ "/bin/sh", "-c", "env" ]
      envFrom:
      - configMapRef:
          name: special-config
  restartPolicy: Never

Это также отделит вашу конфигурацию от вашего развертывания, и вы сможете хранить / изменять переменные среды в своей ConfigMap.

Источник: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#configure-all-key-value-pairs-in-a-configmap-as-переменные-среды-контейнера

person Simon    schedule 16.06.2021