Назад | Перейти на главную страницу

Kubernetes - укажите env_file

Мы используем Kubernetes v1.1.0-beta, и мне любопытно, поддерживает ли Kubernetes env_file, как Docker Compose? При создании Pod / ReplicationController он будет читать файл, указанный env_file, и устанавливать переменные для этого модуля. Это вещь или просто env карта?

Нет. Kubernetes не поддерживает evv_file на данный момент. Вам нужно будет указать key=value пары для переменных окружения.

Для этого вы можете использовать карту конфигурации. Таким образом, вы развертываете конфигурационную карту с нужными парами ключ-значение, она остается стабильной при развертывании. Вы даже можете развернуть несколько карт конфигурации, чтобы иметь разные значения для разных сред.

Затем в вашем файле pod yaml вы должны сделать что-то вроде этого, чтобы выставить значения configmap как переменную env

      env:
        # Define the environment variable
        - name: SPECIAL_LEVEL_KEY
          valueFrom:
            configMapKeyRef:
              # The ConfigMap containing the value you want to assign to SPECIAL_LEVEL_KEY
              name: special-config
              # Specify the key associated with the value
              key: special.how

Подробнее здесь: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#define-container-environment-variables-using-configmap-data

Если есть какие-либо конфиденциальные данные (например, пароли, URI подключения к базе данных и т. Д.), Вам следует использовать секреты. В отличие от конфигурационных карт, секреты скрыты, поэтому вы не можете видеть значения из kubectl и т. Д., Что помогает скрыть / защитить ваши конфиденциальные данные.

Подробнее здесь -> https://kubernetes.io/docs/concepts/configuration/secret/