舵图中的动态名称空间变量

时间:2019-03-27 11:43:18

标签: kubernetes kubernetes-helm

我与四个使用kubernetes命名空间中设置的完全相同环境的团队合作。 我已经创建了头盔图来安装这些环境。一切正常,但由于主机名中的以下格式,我必须手动创建入口:

<namespace>.<app>.<k8sdomain>

问题是,我只想使用kubectl更改上下文,然后运行这些图表,而不是编辑每个值。yaml来更改名称空间变量。

是否可以使用一些预定义的或动态的变量来为入口主机添加正确的名称空间?

或者还有其他解决方案可以帮助我解决这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

名称空间值可以从--namespace参数派生而来,该参数与部署舵图的名称空间相同。然后,在图表中应使用{{.Release.Namespace}}对其进行访问。 或者,在使用--set部署Helm Chart时,可以使用helm upgrade设置这些命名空间。如果环境很少,则可以在values.yaml中将它们作为别名访问,然后像这样为它们设置名称空间值:

helm upgrade \
   <chart_name> \
      <path_to_the_chart> \
        --set <environment_one>.namespace=namespace1 \
        --set <environment_two>.namespace=namespace2 \
...