kubernetes - Helm 图表在发布时抛出错误,但在 --dry-run 上运行良好

标签 kubernetes terraform kubernetes-helm

因此,我的 Helm 图表中有一个环境变量,当我运行 --dry-run 时,该变量运行良好。但是,当我尝试真正释放它时,会抛出错误。

因为 Postgres 节点的数量根据用户在 value.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 - Helm 图表在发布时抛出错误,但在 --dry-run 上运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55593886/

相关文章:

kubernetes - 如何让k8s cpu和内存HPA协同工作?

kubernetes - kubeadm连接失败。无法请求签名证书

kubernetes - 在OpenShift上预填充持久卷

amazon-web-services - 为 aurora-mysql 创建数据库实例 : InvalidParameterCombination: Cannot find version 5. 6.10a 时出错

azure - 在 terraform 的 azure data explorer 中使用 eventhub 的默认消费者组

kubernetes - 我如何在 Helm 仓库中列出所有可用图表

Jenkins helm chart 不更新插件

kubernetes - Tiller : dial tcp 127. 0.0.1:80:连接:连接被拒绝

kubernetes - 使用 Kubernetes REST API 管理部署

azure - Terraform 导入 - 资源标签重要吗?