我计划将项目升级到HELM。
我在Deployment.yaml中定义了许多环境变量。
最佳实践是最好在values.yaml文件或模板/ deployment.yaml drop中定义环境变量吗?
如果您使用的是示例应用程序,可以帮忙吗?
答案 0 :(得分:2)
您完全可以使用values.yaml
来定义环境变量。该值是静态的吗?我将它留在部署Yaml中没有问题。如果是秘密,则应该使用k8s秘密来管理它,或者在使用helm install --set-value..
时输入它。如果该值是动态的并且经常更改,或者将来可能会更改,那么这是values.yaml
的真实用法imo
答案 1 :(得分:2)
免责声明:我的回答基于Helm3。所以让我们开始吧:
例如,我想使用头盔在集群上安装Elasticsearch,因此我使用以下命令:
Alert(title: Text("Nice Title"),
message: Text("Some important message for the user."),
dismissButton: .default(Text("OK").foregroundColor(.gray)))
但是我不想使用图表的默认值。所以我去了https://hub.helm.sh/charts/elastic/elasticsearch和https://github.com/elastic/helm-charts/blob/7.8/elasticsearch/values.yaml,看到了可以更改的地方,然后创建了命令:
helm install elastic/elasticsearch --version 7.8.0
但是在我的CD工具中,最小主节点是不同的值,并且由于这是一个环境变量,因此我将命令行更改为:
helm install elastic/elasticsearch --set minimumMasterNodes=1 --set protocol=https --version 7.8.0
因此,一旦正确提供了MIN_MASTER_NODES环境变量,上面的命令将在CD工具中毫无问题地运行。