结构是这样的:
chart.yaml
values.yaml
templates/
|__deploymentconfig.yaml
用法:helm install demo --dry-run --debug -f values.yaml
我喜欢做的是,在模板填充了yaml之后,在helm install
上用--set
命令添加一个environment variable
。
类似以下的虚拟命令(不起作用):helm install demo ... -f values.yaml --set ???env[0].name=MyEnvVar
生成的部署配置应如下所示:
kind: Deployment
...
spec:
template:
spec:
containers:
env:
- name: MyEnvVar
value: Hello
我需要在install命令的**???**部分设置什么,才能在清单的部署部分获得所需的变量?
1条答案
按热度按时间unftdfkk1#
您在评论中澄清:
我想添加一个环境变量,但不涉及Helm代码(仅在CLI上使用
--set
)您不能使用
helm install --set
进行模板代码中没有描述的任何更改。那么您可以使用
helm install --set someValue=bar
来更改一个特定的环境值,但是您的图表本身无法提供其他环境变量,而且--set
本身无法更改这一点。原因:无测试代码进入生产。
您仍然可以允许自定义图表而不违反此规则。
第一次
或者,您可以提供一组开放式的扩展环境变量,并期望它通常为空
与此对应的
helm install --set
语法可能比较复杂,但您可以编写一个单独的部署时值YAML文件,以便用helm install -f
注入。原则上,您可以使用post rendering对已部署的YAML进行任意更改,这可能包括添加环境变量。尽管这是一种复杂的方法,但它会使您处于这样一种情况:您已经对标准部署中的某些内容进行了修改;这对于许多需要来说可能是不足够可再现的。