Ошибка связи с configmap - PullRequest
       11

Ошибка связи с configmap

0 голосов
/ 25 июня 2018

Привет! Я использую google kubernetes engine для развертывания своего приложения.Я попытался добавить configMap

apiVersion: v1
kind: ConfigMap
metadata:
  name: configmap
  namespace: default
data:
  database_user: root
  database_password: root
  database_db: db
  database_port: 5432
  database_host: mypostgres

И затем в своем файле развертывания приложения я сопоставил переменные окружения, как показано ниже:

 spec:
      containers:
      - env:
        - name: DATABASE_HOST
          valueFrom:
            configMapKeyRef:
              name: configmap
              key: database_host
        - name: DATABASE_NAME
          valueFrom:
            configMapKeyRef:
              name: configmap
              key:  database_db
        - name: DATABASE_PASSWORD
          valueFrom:
            configMapKeyRef:
              name: configmap
              key: database_password
        - name: DATABASE_USER
          valueFrom:
            configMapKeyRef:
              name: configmap
              key: database_user

        - name: DATABASE_PORT
          valueFrom:
            configMapKeyRef:
              name: configmap
              key: database_port

Мой сервис не запущен, и я получил

CreateContainerConfigError Когда я пытаюсь показать результат работы модуля

Когда я "описываю свой модуль", я получаю

Ошибка: не удалосьt find key database_host

Мой вопрос заключается в том, почему мой файл развертывания не передается с определенным мной файлом конфигурации

Я создал карту конфигурации с помощью этой команды

kubectl создать configmap configmap --from-file = configmap.yaml

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Как уже упоминалось в «kubectl create configmap --help»: --from-env-file = '': укажите путь к файлу для чтения строк пар ключ = val для создания карты конфигурации (т. Е. Docker .envfile).

, поэтому вам просто нужно создать файл с именем conf со значением, например:

database_user= root
database_password= root
database_db= db
database_port= 5432
database_host= mypostgres

и выполнить: "kubectl create configmap coco-config --from-env-file =conf "

ОБНОВЛЕНИЕ: Если вы введете свои данные в" ", проблема будет исправлена ​​

apiVersion: v1
kind: ConfigMap
metadata:
  name: configmap
  namespace: default
data:
  database_user: "root"
  database_password: "root"
  database_db: "db"
  database_port: "5432"
  database_host: "mypostgres"
0 голосов
/ 25 июня 2018

Попробуйте configmap --from-env-file=configm

...