我的kubernetesyaml文件中有许多重复的值,我想知道是否有一种方法可以将变量存储在文件中的某个地方,最好是存储在文件的顶部,以便在下面重用
有点像
variables:
- appName: &appname myapp
- buildNumber: &buildno 1.0.23
我可以在下面重复使用
labels:
app: *appname
tags.datadoghq.com/version:*buildno
containers:
- name: *appname
...
image: 123456.com:*buildno
如果可能话
我知道锚点在yaml中是一个东西,我只是找不到任何关于设置变量的东西
2条答案
按热度按时间nqwrtyyt1#
你不能在Kubernetes清单中这样做,因为你需要一个处理器来操作YAML文件。尽管你可以在同一个YAML清单中共享锚点,如下所示:
这将导致:
正如您所看到的,标签name && deployedInNamespace具有从锚点评估得到的值。
根据您的用例描述,您需要的是Helm图表路径和清单模板。然后,您可以利用帮助函数,并在需要时轻松地自定义这些字段。根据我的经验,当您有这样的用例时,Helm是最佳选择,因为当您决定更改其他内容时,它将帮助您自定义清单中的所有内容。
vwoqyblh2#
我想有一个类似的问题有答案。请检查下面的How to reuse an environment variable in a YAML file?