В чем разница между | + и | - при создании configmap из файла в определениях yaml kubernetes? - PullRequest
2 голосов
/ 31 мая 2019

Я встречал 2 типа синтаксиса для создания конфигурационных карт из файлов в kubernetes.

первый ;


apiVersion: v1
data:
  file1.yaml: |+
    parameter1=value1
kind: ConfigMap
metadata:
  name: my-configmap

второй ;

apiVersion: v1
data:
  file1.yaml: | -
    parameter1=value1
kind: ConfigMap
metadata:
  name: my-configmap

В чем разница между | + и | -?

Ответы [ 2 ]

5 голосов
/ 31 мая 2019

Это индикатор блочного чипинга .

Прямое цитирование по ссылке:

Индикатор чэмпинга контролирует, что должно происходить с символами новой строки в концестрока.По умолчанию, clip, ставит одну новую строку в конце строки.Чтобы удалить все новые строки, удалите их, поставив знак минус (-) после индикатора стиля.И клип, и полоса игнорируют, сколько строк на самом деле находится в конце блока;чтобы сохранить их все, поставьте знак плюс (+) после индикатора стиля.

Это означает, что для:

apiVersion: v1
data:
  file1.yaml: |-
    parameter1=value1


kind: ConfigMap
metadata:
  name: my-configmap

file1.yaml будет иметь значение:

parameter1=value1

Для:

apiVersion: v1
data:
  file1.yaml: |+
    parameter1=value1


kind: ConfigMap
metadata:
  name: my-configmap

file1.yaml будет иметь значение:

parameter1=value1 # line break
# line break
# line break
0 голосов
/ 31 мая 2019

Это индикаторы чипирования блоков , они влияют на то, как обрабатываются завершающие переводы строк в литеральном (|) или сложенном (>) скаляре стиля блока.

По умолчанию, если после | (или >) нет + или -, эти завершающие символы новой строки обрезаны , то есть скаляр будет загружен в виде строки заканчивающийся одиночной новой строкой, независимо от того, есть ли несколько пустых строк в конце скаляра.

Если указано +, каждая новая строка сохраняется , поэтому у скаляра будет одна дополнительная новая строка для каждой пустой строки перед отступом для следующего узла (в дополнение к заканчивающийся последней непустой строкой)

Если указано -, скаляр убирается и не заканчивается новой строкой, даже если в конце скаляра стиля блока есть несколько пустых строк.

Обратите внимание, что ваш второй пример - недопустимый , правила производства указывают, что индикатор надавливания может быть отделен от | только индикатором отступа (т. Е. Числом, если указано) и что между | и -.

не должно быть пробелов.
...