Как использовать значение HELM-3 в виде многострочной строки
У меня есть yaml-файл nginx ConfigMap, который затем монтируется как nginx.conf. Эта карта конфигурации содержит конфигурацию в виде многострочной строки, начинающейся следующим образом:
data:
nginx.conf: |
worker_processes auto;
pid /tmp/nginx.pid;
:
и в эту многострочную строку я хотел бы вставить значение из values.yaml, например:
data:
nginx.conf: |
worker_processes auto;
pid /tmp/nginx.pid;
:
:
log_format combined '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
access_log /var/log/nginx/access.log {{ .Values.nginx.log.format | default "combined" | quote }};
error_log /var/log/nginx/error.log;
:
но при использовании приведенного выше синтаксиса я получаю неожиданную ошибку EOF. Любой способ / обходной путь, чтобы это сделать?
1 ответ
Что ж, я бы посоветовал вам этого не делать. Вместо этого вы можете создать такую папку, как
configuration
, брат вашего
template
папку и создайте файл с именем
nginx.conf
в нем со всем вашим строковым содержимым, которое, конечно, может иметь требуемые заполнители. Затем в определении configMap вы можете назвать свой файл следующим образом
data:
{{ (.Files.Glob "configuration/nginx.conf").AsConfig | indent 2 }}
Это создаст вашу конфигурационную карту