【发布时间】:2019-08-30 19:27:06
【问题描述】:
所以我的 Helm 图表中有一个环境变量,当我运行 --dry-run 时它工作正常。但是,当我尝试真正释放它时,会引发错误。
因为 Postgres 节点的数量会根据用户在 values.yaml 中的输入而有所不同,所以我需要一种方法来根据指定的节点数生成伙伴节点变量。
我试图做的是创建一个循环,使用 until 函数迭代数字,该函数返回一个以 0 开头并以 $until-1 结尾的整数列表,其中我将 postgres_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 }}"
当以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"|...
任何帮助将不胜感激,并提前致谢。
【问题讨论】:
标签: kubernetes terraform kubernetes-helm