以 Helm 部署项目

编写chart

创建模板:

1
helm create <chatname>

查看模板:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
tree -a
.
├── charts // 依赖的 chart
├── Chart.yaml
├── .helmignore / /忽略掉不想包含在 chart 内的文件
├── templates // chart 使用的模板文件, 中间使用 - 进行分割,避免使用驼峰式命名
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   ├── ingress.yaml
│   ├── NOTES.txt // Notes.txt 文件在 helm install 完成后,会进行回显,可用于解释说明如何访问服务等
│   ├── service.yaml
│   └── tests
│   └── test-connection.yaml
└── values.yaml // 项目的一些可配置项,如镜像的名称或 tag

查看 Chart 文件:

1
2
3
4
5
6
cat <chatname>/Chart.yaml
apiVersion: v1
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: <chatname>
version: 0.1.0

Chart.yaml 字段解释:

1
2
3
4
5
apiVersion:目前版本都为 v1
appVersion:这是应用的版本号,需要与 apiVersion, version 等字段注意区分
name: 通常要求 chart 的名字必须和它所在目录保持一致,且此字段必须
version:表明当前 chart 的版本号,会直接影响 Release 的记录,且此字段必须
description:描述

部署与打包

1
2
3
helm install <chatname>
helm package <chatname> //打包
helm install <chatname>-0.1.0.tgz

参考资料:

https://github.com/tao12345666333/saythx