• helm-chart6,子chart 和全局值


    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。

  • 相关阅读:
    java实现第四届蓝桥杯连续奇数和
    java实现第四届蓝桥杯连续奇数和
    java实现第四届蓝桥杯连续奇数和
    java实现第四届蓝桥杯连续奇数和
    java实现第四届蓝桥杯连续奇数和
    java实现第四届蓝桥杯猜灯谜
    Idea开发环境中搭建Maven并且使用Maven打包部署程序
    IntelliJ IDEA最新版配置Tomcat(完整版教程)
    ActiveMQ安装部署(Windows)
    个人龙果支付系统的部署及运行
  • 原文地址:https://www.cnblogs.com/mingbai/p/helmChart6.html
Copyright © 2020-2023  润新知