#kubernetes #terraform #kubernetes-helm
#kubernetes #terraform #kubernetes-helm
Вопрос:
Итак, у меня есть переменная среды в моей Helm chart, которая отлично работает, когда я запускаю --dry-run
. Однако, когда я пытаюсь выпустить ее по-настоящему, выдается ошибка.
Поскольку количество узлов Postgres отличается в зависимости от введенных пользователем значений.yaml Мне нужен способ генерировать переменную partner nodes на основе указанного количества узлов.
Что я пытался сделать, так это создать цикл, который перебирает числа, используя until
функцию, которая возвращает список целых чисел, начинающихся с 0 и заканчивающихся $until-1, где я даю значение postgre_nodes в качестве входного числа, например:
- name: "PARTNER_NODES"
value: "{{ range $i, $e := until ( int $.Values.postgres_nodes ) }}{{ if $i }},{{ end }}{{ $.Values.name }}-db-node-{{ $i }}.{{ $.Values.name }}-db{{ end }}"
При запуске as helm install --dry-run --debug
он работает нормально, и файл конфигурации печатается правильно:
"xxx-db-node-0.xxx-db,xxx-db-node-1.xxx-db,xxx-db-node-2.xxx-db"
но когда я удаляю --dry-run
, чтобы развернуть его по-настоящему, выдается следующая ошибка:
Error: release ha-postgres failed: StatefulSet in version "v1beta1" cannot be handled as a StatefulSet: v1beta1.StatefulSet.Spec: v1beta1.StatefulSetSpec.Replicas: readUint32: unexpected character: �, error found in #10 byte of ...|eplicas":"3","servic|..., bigger context ...|-node","namespace":"default"},"spec":{"replicas":"3","serviceName":"boost-db","template":{"metadata"|...
Любая помощь будет высоко оценена и заранее благодарна.
Ответ №1:
Оказалось, что мои реплики были заключены в кавычки, что привело к этой ошибке.