如何在Kubernetes YAML文件中复用变量?
在Kubernetes YAML中使用锚点复用变量的可行性
这种用锚点复用重复值的思路是可行的,但你写的YAML语法有问题,得调整锚点的定义方式:
正确的锚点定义方式
YAML锚点不需要放在variables的列表项里,直接在顶层或专门的节点中定义即可,两种常见写法:
- 顶层直接定义锚点
&appname myapp &buildno 1.0.23
- 用单独节点集中管理(更清晰易维护)
vars: appName: &appname myapp buildNumber: &buildno 1.0.23
正确的引用方式
引用时的写法和你预期的差不多,注意冒号后要加空格(YAML语法要求):
labels: app: *appname tags.datadoghq.com/version: *buildno containers: - name: *appname image: 123456.com/myimage:*buildno
注意事项
- Kubernetes的工具链(比如
kubectl)完全支持YAML锚点,解析时会自动把锚点引用替换成对应的值,再提交给集群。 - 锚点是YAML本身的特性,不是K8s专属,只要你的YAML解析工具支持就能用,不用担心兼容性问题。
内容的提问来源于stack exchange,提问作者Reubeniv
相关产品推荐
相关产品推荐

