chart可以有称为子chart的依赖关系

关于子chart

1,子chart认为是“独立的”,即子chart不能明确依赖于其父chart。
2,子chart无法访问其父项的值。
3,父chart可以覆盖子chart的值。
4,Helm有全局值的概念,可以被所有chart访问。

创建一个空的子chart

$ cd mychart/charts
$ helm create mysubchart
Creating mysubchart
$ rm -rf mysubchart/templates/*.*

添加一个configmap:mychart/charts/mysubchart/templates/configmap.yaml  

apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-cfgmap2
data:
dessert: {{ .Values.dessert }}

独立测试这个子chart:

$ helm install --dry-run --debug mychart/charts/mysubchart
SERVER: "localhost:44134"
CHART PATH: /Users/mattbutcher/Code/Go/src/k8s.io/helm/_scratch/mychart/charts/mysubchart
NAME: newbie-elk
TARGET NAMESPACE: default
CHART: mysubchart 0.1.0
MANIFEST:
---
# Source: mysubchart/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: newbie-elk-cfgmap2
data:
dessert: cake

一切正常。

覆盖子chart值

要覆盖子chart中的值,可以在父chart 的values.yaml文件中这样写:

favorite:
drink: coffee
food: pizza
pizzaToppings:
- mushrooms
- cheese
- peppers
- onions mysubchart:  # 注意此处名称
dessert: ice cream

再次测试子chart ,则其值已经改变。

data:
dessert: ice cream

全局chart值

全局值是可以从任何chart或子chart用完全相同的名称访问的值。全局值需要明确声明。

全局值的声明方式:

favorite:
drink: coffee
food: pizza
pizzaToppings:
- mushrooms
- cheese
- peppers
- onions mysubchart:
dessert: ice cream global:
salad: caesar

这样,则mychart/templates/configmap.yaml和mysubchart/templates/configmap.yaml都能够这样访问该值{{ .Values.global.salad}}。

  

  

此外,父chart和子chart可以共享模板。任何chart中的任何定义块都可用于其他chart。

最新文章

  1. Android中的多线程断点下载
  2. Rafy 框架 - 通用查询条件(CommonQueryCriteria)
  3. 读书笔记——body and html
  4. maven环境终于可以了
  5. html5 svg 圆形进度条
  6. ADO.NET实体数据模型使用探索1
  7. python中string模块各属性以及函数的用法
  8. linux配置LAMP
  9. PHP中的变量
  10. Js树型控件Dtree使用
  11. PMBok项目管理
  12. 超越Ctrl+S保存页面所有资源
  13. CSS,JavaScript知识点
  14. LeetCode Two Add Two Numbers (JAVA)
  15. mysql之数据备份与还原
  16. Laravel上传产品图片Uploading img
  17. wx事件处理二
  18. hdu 2049 不easy系列之(4)——考新郎
  19. 关于React面试题汇总
  20. 解决Slave SQL线程Waiting for binlog lock

热门文章

  1. eMMC真能优化成UFS?谈谈手机闪存的文件系统
  2. Java之final关键字详解
  3. 利用div绘制细线居中
  4. 208道面试题(JVM部分暂无答案)
  5. Android获取虚拟软键盘高度
  6. 10张思维导图带你学习Java​Script
  7. 更改Ubuntu默认python版本的方法
  8. Robot Framework 环境安装(一)
  9. 安装和启动tftp-server服务器及可能出现Redirecting to /bin/systemctl restart xinetd.service问题的解决方式
  10. Linux-CentOS 重置root密码