• helm-chart-2-chart结构和简单模板


    1, chart 结构介绍

    我们创建一个chart 并查看其结构

    右侧注释为其文件的的解释

    $ helm create mychart
    
    $ cd mychart/
    
    $ tree
    
    ├── charts            # 用于放置子charts
    ├── Chart.yaml        # 这里有一些chart的基本信息,名称、版本、对应的app版本等。
    ├── templates         # 放置模板 最终被渲染为不同的 manifest(大概是一些配置和元数据)
    │   ├── deployment.yaml   # 这个模板最终会被渲染为 deployment的基本manifest
    │   ├── _helpers.tpl      # 这个文件用于 存放模板,给其他地方调用,本身不会被渲染(参照函数库理解)
    │   ├── ingress.yaml      
    │   ├── NOTES.txt         # chart的说明文件,会在安装、升级后显示其内容,也可以用模板的方式写,会被渲染。
    │   └── service.yaml
    └── values.yaml       # 存放‘值’ 的地方,渲染templates下模板所用的值,有一大部分来源于此
    
    

    2,简单模板介绍

    在Kubernetes中,ConfigMap是存储配置数据的地方。其他的东西,比如Pod,可以访问ConfigMap中的数据

    模板名称不遵循严格的命名模式。但是,我们建议.yaml为YAML文件后缀,.tpl为模板助手后缀。

    我们创建一个名为:mychart/templates/configmap.yaml 的文件
    其内容如下:

    apiVersion: v1
    kind: ConfigMap
    metadata:
    name: {{ .Release.Name }}-configmap
    data:
    myvalue: "Hello World"
    

    这里有一个模板引用,{{ .Release.Name }}会被渲染为 ap的release名称。(该Release对象是Helm的内置对象之一,稍后会进一步介绍它。)
    接下来,介绍几个命令:

    $ helm install ./mychart     # 安装并获取反馈信息
    NAME: clunky-serval
    LAST DEPLOYED: Tue Nov  1 17:45:37 2016
    NAMESPACE: default
    STATUS: DEPLOYED
    
    RESOURCES:
    ==> v1/ConfigMap
    NAME                      DATA      AGE
    clunky-serval-configmap   1         1m
    
    
    
    
    $ helm get manifest full-coral 
    
    # helm get manifest命令获取release名称(full-coral)并打印出上传到服务器的所有Kubernetes资源。   
    # 每个文件都以---开始作为文档的起始,然后是一个自动生成的注释行,告诉我们该模板文件生成于哪个YAML文档
    
    
    ---
    # Source: mychart/templates/configmap.yaml
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: goodly-gupp-configmap   # 渲染过的值
    data:
      myvalue: "Hello World"
    
    
    $ helm install --debug --dry-run ./mychart  
    # 一个快速调试的技巧(还有一个是 helm lint name):当您想测试模板渲染,但实际上不安装任何东西时,  
    # 可以使用helm install --debug --dry-run ./mychart。   
    # 这会把chart发送到Tiller服务器,将渲染模板。但不安装chart,会将渲染模板返回,以便可以看到如下输出  
    
    
    SERVER: "localhost:44134"
    CHART PATH: /Users/mattbutcher/Code/Go/src/k8s.io/helm/_scratch/mychart
    NAME:   goodly-guppy
    TARGET NAMESPACE:   default
    CHART:  mychart 0.1.0
    MANIFEST:
    ---
    # Source: mychart/templates/configmap.yaml
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: goodly-guppy-configmap
    data:
      myvalue: "Hello World"
    
    

    转载注明出处:
    https://www.jianshu.com/p/d0b0dcad531e

  • 相关阅读:
    iOS万能跳转界面的方法
    CocoaPods版本更新
    iOS--开发小技巧(持续更新)
    RunTime--手势应用场景(很方便)
    牛逼的标签效果(封装好)
    直播点赞动画
    UI基础--自定义UISwitch
    StatusBar 更改状态栏颜色(ios7)
    ios版本更新提示
    IOS 两个UIImage 合成一个Image
  • 原文地址:https://www.cnblogs.com/mingbai/p/helmchart2.html
Copyright © 2020-2023  润新知