Можем ли мы использовать «данные» в качестве файла yaml вместо файла Json на карте конфигурации - PullRequest
2 голосов
/ 07 марта 2019

давайте возьмем этот пример карты конфигурации

apiVersion: v1
kind: ConfigMap
data:
  abc.yml: |-
<yml here>

При получении сообщения об ошибке вроде не удалось разобрать yaml в Json.

Ответы [ 3 ]

0 голосов
/ 07 марта 2019

Это могут быть проблемы 1. Скорее всего, проблема может быть с отступом. 2. удалите '-' из abc.yml: | - и отметьте

Я выполнил следующие шаги и смог загрузить файл yaml в configmap. все работало нормально.

master $ cat c.yaml
apiVersion: v1
data:
  redis-config: |
    maxmemory 2mb
    maxmemory-policy allkeys-lru
kind: ConfigMap
metadata:
  name: example-redis-config
master $ kubectl create configmap  testcfg --from-file=./c.yaml
master $ kubectl get cm testcfg -oyaml
apiVersion: v1
data:
  c.yaml: |
    apiVersion: v1
    data:
      redis-config: |
        maxmemory 2mb
        maxmemory-policy allkeys-lru
    kind: ConfigMap
    metadata:
      name: example-redis-config
kind: ConfigMap
metadata:
  creationTimestamp: 2019-03-07T08:35:18Z
  name: testcfg
  namespace: default
  resourceVersion: "7520"
  selfLink: /api/v1/namespaces/default/configmaps/testcfg
  uid: f033536d-40b3-11e9-a67d-0242ac11005b

0 голосов
/ 08 марта 2019

Да, вы можете сделать это, но вы должны заботиться о синтаксисе. Вы также можете следовать техникам для yaml с здесь .

Если вы используете kubectl create configmap myconfig --from-file=abc.yml, тогда все в порядке.

Но если вы напишите весь файл yaml для своего configmap в myconfig.yaml, а затем запустите kubectl create -f myconfig.yaml, то вам следует позаботиться о синтаксисе.

Скажите, что ваш файл abc.yml выглядит следующим образом:

a:
  b: b1
  c: c1
d: d1

Затем напишите ваш myconfig.yaml файл:

apiVersion: v1
kind: ConfigMap
data:
  abc.yml: |
    a:
      b: b1
      c: c1
    d: d1

Теперь просто запустите kubectl create -f myconfig.yaml. Вот и все.

Счастливого Кубернетеса !!!.

0 голосов
/ 07 марта 2019

Создать ConfigMap из файла.

kubectl create configmap myconfig --from-file=youfile.yml.

Вы можете проверить больше примеров на kubernetes docs

...