Введите секретное значение в configmap во время развертывания без использования переменных среды - PullRequest
1 голос
/ 03 апреля 2019

У меня есть такая конфигурация

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: develop
  name: test-config
data:
  app.conf: |
    connection conn1
    address 127.0.0.1:8080
    user cluster1
    password: <HERE COPY PASS FROM SECRET>

раздел app.conf монтируется как файл конфигурации внутри контейнера, используя

spec:
  replicas: 1
  ...
    spec:
      containers:
        - name: container-name
          ...
          volumeMounts:
            - name: test-config-vol
              mountPath: /etc/app/app.conf
              subPath: app.conf
      volumes:
        - name: test-config-vol
          configMap:
            name: test-config

приложение, которое не может прочитать этот файлчитать переменные среды, и я не могу изменить это поведение, это стороннее приложение.

Интересно, как я могу ввести пароль из поля секрета в поле пароля во время развертывания модуля

1 Ответ

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

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

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

Также обратите внимание, что секреты Kubernetes не могут быть сохранены в системе контроля версий, поскольку секретные данные кодируются с использованием base64 (см. здесь для получения более подробной информации).Есть несколько решений этой проблемы, посмотрите мой пост

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...