第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > helm的子chart

helm的子chart

时间:2023-04-29 05:41:41

相关推荐

helm的子chart

目录

1、Subchart2、指定目录下的value文件3、总结

1、Subchart

目录结构

../../mychart/├── charts│ └── subchart #子chart│ ├── Chart.yaml│ ├── templates│ │ └── configmap.yaml│ └── values.yaml├── Chart.yaml├── config1.toml├── config2.toml├── config3.toml├── templates│ ├── cmdemo.yaml│ ├── configmap.yaml│ └── secretdemo.yaml└── values.yaml

在mychart的下创建subchart

# mychart/charts/subchart/templates/configmap.yamlapiVersion: v1kind: ConfigMapmetadata:name: {{.Release.Name }}-cfgmap2data:drink: {{.Values.favorite.drink }}、# mychart/charts/subchart/values.yamlfavorite:drink: "orange juice" #正常应该输出drink: orange juice# mychart/values.yamlfavorite:myvalue: "Hello World"drink: "coffee"food: "PIZZA"subchart: #指定子chart值favorite:drink: "coffee"

渲染效果

# Source: mychart/charts/subchart/templates/configmap.yamlapiVersion: v1kind: ConfigMapmetadata:name: release-name-cfgmap2data:drink: coffee

可以看到被mychart中的value文件指定后,子chart中的同一字段被重写为drink: coffee

此时及时指定value文件也没用,父chart依旧改写子chart

#指定value取值来自子chart,渲染结果表明,父chart依旧改写子chart[root@ks-allinone daicong]# helm template mychart -f mychart/charts/subchart/values.yaml ---# Source: mychart/charts/subchart/templates/configmap.yamlapiVersion: v1kind: ConfigMapmetadata:name: release-name-cfgmap2data:drink: coffee

可以看到父类改写子类

2、指定目录下的value文件

测试:为父chart指定values.yaml文件,看看是否按照父chart文件夹下的取值还是按照指定的文件取值

1、不指定values.yaml文件

[root@ks-allinone daicong]# helm template mychart ---# Source: mychart/templates/cmdemo.yamlapiVersion: v1kind: ConfigMapmetadata:name: release-name-configmapdata:myvalue: "Hello World"drink: "coffee" #按照默认的mychart文件夹中values.yaml文件取值food: "PIZZA"

2、指定values.yaml文件

[root@ks-allinone daicong]# helm template mychart -f mychart/charts/subchart/values.yaml ---# Source: mychart/templates/cmdemo.yamlapiVersion: v1kind: ConfigMapmetadata:name: release-name-configmapdata:myvalue: "Hello World"drink: "orange juice" #按照指定的values.yaml文件取值food: "PIZZA"

可以看到当指定values.yaml文件时,优先从values.yaml文件中取值

3、总结

helm官网直通车

1、子图表被认为是“独立的”,这意味着子图表永远不能显式依赖其父图表。

2、子图无法访问其父级的值。

3、父图表可以覆盖子图表的值。

4、Helm具有可被所有图表访问的全局值的概念。

5、当指定values.yaml文件时,优先从values.yaml文件中取值

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。