美文网首页Kubernetesk8s原理
helm-charts官网索引

helm-charts官网索引

作者: 肖金光xjg | 来源:发表于2020-10-30 20:54 被阅读0次

    chart编写

    官网文档

    图片.png

    chart开发技巧和窍门:https://helm.sh/docs/howto/charts_tips_and_tricks/
    注册中心:https://helm.sh/zh/docs/topics/registries/
    内置对象: https://helm.sh/zh/docs/chart_template_guide/builtin_objects/

    chart管理

    创建
    helm create chartapp
    helm create --starter mychart 指定入门chart
    打包
    helm package chartapp
    查看 chart信息
    helm lint chartapp
    下载char
    helm pull chartrepo/chartname
    查看helm 发现名称 上传到kubernetes的所有资源
    helm get manifest full-coral
    测试模板渲染而又没有真正安装任何东西,编写chart时,调试看模板渲染后的效果,不做真正的部署处理
    helm install --debug --dry-run goodly-guppy ./mychart

    处理yaml缩减的方式
    方式1, - 去头去尾的空格,注意也包括换行符 {{- .values.test }}
    方式2,使用缩减函数实现 {{ indent 4 $lots_of_text }}
    在模块中定义变量等类似没有输出操作的行时,用{{- test := .values.test -}}
    在希望当前输出行同上一行同一缩进时,用{{- $test }}

    官网文档内容索引

    • topics: 主题:介绍chart
      • charts 介绍charts
        • chart的目录结构
        • 多chart的依赖
        • 预定义的变量
      • charts Hooks 在安装,更新,回滚,创建,删除等等时,在操作前后,设置chart拉钩处理动作
      • charts test helm install quirky-walrus wordpress --namespace default helm test quirky-walrus 测试已安装chats POD的运行情况
      • library charts 创建charts的简单步骤
      • Helm provenance and integrity helm出处和完整性 验证helm charts完整性方式介绍
      • the chart repository guide chart存储仓库指南,说明仓库文件目录结构,打包chart,生成新的index文件,把新的chart加入到现有的chart仓库中。
        • helm repo index --help 构建仓库索引相关参数
      • registries 注册 helm3开始之初OCI进行远程分发,通用支持helm的docker镜像仓库,目前是实验性功能
      • helm architecture helm架构
        • helm 目的 用于管理kubernetes软件包工具
        • 组件
          • 客户端:本地helm开发,管理存储库,管理发布,与helm库节点对接
          • helm库:执行所有helm操作逻辑,与kubernetes API连接,结合helm配置已经构建发布,按应用安装到kubernetes并提供后续发行,通过与k8s交换来升级和卸载应用
      • advanced helm techniques 先进的Helm技术 提供GO通过SDK开发示范
      • kubernetes distribution guide k8s发行指南,介绍怎样同各种不同部署方式的k8s结合
      • role-based access control k8s 角色访问控制介绍
      • the helm plugins guide helm插件指南 介绍插件安装,组成,helm环境变量,自动补全
      • migrating helm V2 to V3 helm从V2迁移到V3的改变,
      • deprecated kubernetes APIs 不推荐使用的k8s API;不要使用apiVersion: apps/v1beta1,更新发布清单的api版本
      • helm version support policy helm与k8s的版本支持政策,n-3策略,3版本对应k8s 1.16.2,那么共支持1.16-1.13的k8s
      • permissions management for sql storage backend SQL存储后端的权限管理;默认helm是利用k8s的RBAC功能;使用sql存储后端时,不能与k8s的角色累确定用户是否可以访问给定的资源。
      • release schedule policy 发布时间政策,同k8s一样,每4个月发布一次版本
    • best practices: 最佳实践
      • general conventions 一般惯例
        • chart 名称必须小写字母和数字,单词可以用-隔开
        • 版本尽可能使用SemVer2表示版本号,版本号中不允许有+符号
        • 格式化yaml 两个空格缩减
        • Chart.yaml中c必须大写,
      • values 值 values.yaml
        • 变量名称必须小写字母开头,字词应该已驼峰分隔
        • 建议使用平面方式定义变量,如果有大量一类变量时,嵌套定义变量,提供可读性
        • 类型转换, foo: !!string 123 (强制为字符串类型),如果双引号,也是字符串类型,引用时, {{ int $value }}转换为int型
        • values.yaml的值可以通过 helm install -f 或者 --set 覆盖
        • values.yaml中的每个变量前面,添加描述信息
      • templates 模板
        • .yaml文件产生YAML输出,.tlp用于其他模板文件,模板名称用-分隔单词,不使用驼峰格式,模板名称应在名称中放映资源种类
        • 定义模板名称 {{- define "nginx.fullname" }}{{/* ... */}}{{ end -}}
        • 格式化模板,两个空格缩进,左右括号前有空格,注意缩进{{- print "foo" -}}
        • 模板中空行尽量保证最小,可加逻辑部分之间的空行,增加可读性
        • yaml模板注释,#开头, 多行注释 {{- /* test */ -}}
        • yaml模板中可以使用json数据
      • dependencies 依赖关系
      • labels and annotations 标签和注释
        • 标准标签 kubernetes特许标签列表
      • pods and podTemplates
        • image,imagepullpolicy,podtemplates
      • custom resource definitions
      • Role-based access control
    • chart template guide: chart模板指南,介绍模板相关内容,使用值,使用模板技巧
      • getting started: 入门
      • build-in objects 内建对象
      • values files 值文件
      • template function and piplines 模板函数和管道
      • template function list 模板函数列表
      • flow contral 流控制
      • variables 变量
      • named templates 命名模板:
        • define定义命名模板,template,include引用;
        • include支持管道,能动态引用模板(变量);template 只能接收字符串;
        • 在模板有多行需要缩进时,只能用include
      • accessing files inside templates 访问模板中的文件 chart必须小于1M,{{ .Files.Get . }},{{ .Files.Glob "bar/*" }},{{ .Files.Get "config.toml" |b64enc }}
      • creating A NOTES.txt file 建NOTES.txt文件,在helm install/upgrade时,为用户打印有用信息,推荐构建此文件,
      • subsharts and global values
        • 子chart是独立的,不能访问父级的值;父chart能覆盖子chart的值;
        • chart有全局变量概念;在父chart/values.yaml中定义子chart名称字段,字段里面的值会被传递或覆盖子chart
        • .values.global.testvalue 定义全局变量
      • the .Helmignore file 指定不想在helm中包含的文件,如果.Helmignore中指定文件存在,在helm package 打包命令时会忽略匹配的所有文件
      • debugging templates 测试模板
        • helm lint 验证chart是否遵循最佳做法
        • helm install --dry-run --debughelm temple --dubug 让服务器呈现模板,返回生成的清单文件
        • helm get manifest [已安装的chart name] 查看服务器上安装了哪些模板
      • text 给出指南为涉及到的内容资料地址
      • appendix: yaml techniques 介绍yaml的一些编写规则,
        • age: !!str 21 默认双引号表示str,也可!!声明值类型
      • appendix: go data types and template

    相关文章

      网友评论

        本文标题:helm-charts官网索引

        本文链接:https://www.haomeiwen.com/subject/sgqjvktx.html