前言
chart包目录结构:
wordpress/
Chart.yaml # 必选:包含当前 chart 信息的 YAML 文件
values.yaml # 必选:chart 的默认配置 values
charts/ # 必选:包含该 chart 依赖的所有 chart 的目录
crds/ # 必选:Custom Resource Definitions
templates/ # 必选:模板目录,与 values 结合使用时,将渲染生成 Kubernetes 资源清单文件
LICENSE # 可选:包含 chart 的 license 的文本文件
README.md # 可选:一个可读性高的 README 文件
values.schema.json # 可选: 一个作用在 values.yaml 文件上的 JSON 模式
templates/NOTES.txt # 可选: 包含简短使用的文本文件
创建框架
helm create <chart包名>
必要文件
Chart.yaml
Chart.yaml 文件包含chart的描述。您可以从模板中访问它。 charts/ 目录可能包含其他chart(我们称之为subcharts)
一份nginx的Chat.yaml示例:
apiVersion: v1 appVersion: 1.16.1
description: Chart for the nginx server
engine: gotpl
home: http://www.nginx.org
icon: https://bitnami.com/assets/stacks/nginx/img/nginx-stack-220x234.png
keywords:
- nginx
- http
- web
- www
- reverse proxy
maintainers:
- email: [email protected]
name: Bitnami
name: nginx
sources:
- https://github.com/bitnami/bitnami-docker-nginx
version: 5.1.5
Templates目录
包含以.yaml
结尾的模板文件和以.txt
结尾的NOTES.txt文件
NOTES.txt
Release安装过程中的输出文本
Release命令helm status
信息
模板文件
go模板语法
{{ template "myapp.fullname" }}
引用模板信息,这里的myapp.fullname
即chart的名
{{ .Values.replicaCount }}
表示 Values.yaml 文件里的顶级 key: replicaCount
验证
# chart 根路径
helm lint .