ConfigMap Kubernetes YAML: пробел в значении вызывает ошибку - PullRequest
0 голосов
/ 10 октября 2018

По какой-то странной и неизвестной причине, когда я использую ConfigMap с парами ключ-значение, которые будут установлены как переменные среды в модулях (используя envFrom), мои блоки не запускаются.

Вот часть ConfigMap моего YAML:

apiVersion: v1
kind: ConfigMap
metadata:
  name: all-config
data:
  # DB configuration
  dbServer: "host.docker.internal"
  dbPort: "3306"

  # problematic config
  validationQuery: 'Select 1'

Если я закомментирую пару ключ / значение validationQuery, модуль запускается.Если я оставлю это, это потерпит неудачу.Если я уберу пробел, он запустится!Очень странное поведение, которое сводится к пробелам.

Есть идеи, почему это не удается и как пользователи обходят это?Может кто-нибудь попытаться воспроизвести?

1 Ответ

0 голосов
/ 11 октября 2018

Я искренне верю, что в вашем приложении что-то не нравится переменным среды с пробелами.Я попробовал это сам, и я могу видеть переменную окружения с пробелом, красивым и элегантным, когда я оболочка в контейнер / контейнер.

PodSpec:

...
spec:
  containers:
  - command:
    - /bin/sleep
    - infinity
    env:
    - name: WHATEVER
      valueFrom:
        configMapKeyRef:
          key: myenv
          name: j
...

$ kubectl get cm j -o=yaml
apiVersion: v1
data:
  myenv: Select 1
kind: ConfigMap
metadata:
  creationTimestamp: 2018-10-10T20:44:02Z
  name: j
  namespace: default
  resourceVersion: "11111111"
  selfLink: /api/v1/namespaces/default/configmaps/j
  uid: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaa

root@mypod-xxxxxxxxxx-xxxxx:/# echo $WHATEVER
Select 1
root@mypod-xxxxxxxxxx-xxxxx:/#
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...