Как использовать значение 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 }}

Это создаст вашу конфигурационную карту

Другие вопросы по тегам