我计划将我的项目升级到 HELM。
我在 deployment.yaml 中定义了许多环境变量。
最佳实践是最好在 values.yaml 文件或 templates/deployment.yaml 文件中定义环境变量?
如果有您使用的示例应用程序,您能提供帮助吗?
我计划将我的项目升级到 HELM。
我在 deployment.yaml 中定义了许多环境变量。
最佳实践是最好在 values.yaml 文件或 templates/deployment.yaml 文件中定义环境变量?
如果有您使用的示例应用程序,您能提供帮助吗?
免责声明:我的答案基于 Helm 3。所以让我们开始吧:
例如,我想使用 helm 在我的集群上安装 Elasticsearch,所以我使用以下命令:
helm install elastic/elasticsearch --version 7.8.0
但我不想使用图表的默认值。所以我去了https://hub.helm.sh/charts/elastic/elasticsearch和https://github.com/elastic/helm-charts/blob/7.8/elasticsearch/values.yaml,看看有什么可以改变的,然后我创建命令:
helm install elastic/elasticsearch --set minimumMasterNodes=1 --set protocol=https --version 7.8.0
但是在我的 CD 工具中,最小主节点是不同的值,因为这是一个环境变量,我将命令行更改为:
helm install elastic/elasticsearch --set minimumMasterNodes=$MIN_MASTER_NODES --set protocol=https --version 7.8.0
因此,一旦正确提供了 MIN_MASTER_NODES 环境变量,上述命令将在您的 CD 工具中正常运行。
您用于values.yaml
定义环境变量完全取决于您。值是静态的吗?我可以将它留在部署 yaml 中。helm install --set-value..
如果它是一个秘密,你应该使用k8s秘密来管理它,或者在你使用时输入values.yaml
它