Helm模板
Helm模板对应Helm社区的Helm Chart概念,是Helm定义的一种打包格式,用来描述一组相关的kubernetes资源。Helm 能够帮您管理自定义的 Kubernetes 资源集合,从而快速实现复杂应用的定义、安装、升级。
备注:Helm模板页面提供了模板托管服务,该服务不区分地域。
Helm客户端
helm客户端为命令行工具,可以在Helm Github页面进行下载。
模板市场
开放使用的Helm模板。可以点击模板名称进入模板详情,查看模板介绍、用法和参数。
我的模板
用户可以上传自己的Helm模板包,并在集群中部署。
用户自行上传的模板将在"Helm模板-我的模板"中展示,并可以通过helm命令行工具操作其中的模板。
模板包准备建议使用helm客户端操作。
准备模板包
您可以通过如下两种方法准备模板包:
- 自定义模板包。模板包制作方式和文件结构可以参考Helm社区文档:
- 使用Kubernetes官方模板包。访问https://hub.helm.sh/,可以获取当前社区所有模板包。
模板包命名规范
若要上传到百度智能云Helm模板仓库,模板包内Chart.yaml中的name
和version
字段须符合以下规则:
name
长度不能超过32个字符,必须以小写字母开头,可以包含小写字母、数字、-。version
中主版本号、次版本号和修订号只能填写非负整数,语义参考语义化版本规则,不支持pre-release格式的修订版本号。
打包模板包
建议使用helm客户端操作。
在模板包文件夹所在目录执行helm package ./{name}
,其中{name}
为模板包名称,该操作会在目录下生成相应的模板包tgz文件。
$ ls -l
drwxr-xr-x 6 root root 4096 Feb 15 23:07 mysql
$ helm package ./mysql
Successfully packaged chart and saved it to: /root/my-charts/mysql-0.15.0.tgz
$ ls
mysql mysql-0.15.0.tgz
上传模板包
点击Helm模板-我的模板页面的上传模板按钮,选择刚刚打包完成的模板包,点击导入按钮即可上传模板包到我的模板中。
也可以通过helm客户端操作模板包的上传,参考使用helm客户端操作模板仓库。
使用helm客户端操作我的模板
可以通过helm客户端操作页面上"我的模板"对应的模板仓库,模板仓库地址见我的模板右上角-仓库地址按钮。
添加仓库时需要提供模板仓库用户名密码,可以通过右上角创建/修改模板仓库用户名密码。对于已经创建过镜像仓库用户名密码的用户,模板仓库用户名密码与镜像仓库用户名密码一致。
使用helm客户端添加模板仓库的命令如下:
$ helm repo add cce-private <模板仓库地址> --username=<username> --password=<password>
完成repo添加后,可以通过helm search repo命令查看模板仓库中的模板包。
如果需要通过helm客户端上传模板包,还需要安装helm-push plugin添加helm push命令,使用文档参考 https://github.com/chartmuseum/helm-push。
对于helm客户端支持的的其他模板仓库操作,可以参考Helm社区文档 https://helm.sh/docs/helm/helm_repo/。
安装模板
在列表页面和模板详情顶部的点击安装按钮,默认安装模板的最新版本。如果要安装历史版本,可以在模板详情-版本中选择历史版本进行安装。
安装模板时,需要填写实例名称,目标CCE集群和集群命名空间,以及模板参数。
实例名称规范如下:
- 实例名称不能超过32个字符,必须以小写字母开头,小写字母或数字结尾,可以包含小写字母、数组、-。
- 实例名称不能与目标集群中已有的实例冲突。
模板参数文本框内填充模板默认参数值,可以在安装模板时进行修改。
安装完成后,会自动跳转到对应的Helm实例页面。
也可以通过helm客户端连接集群后,在对应集群中安装指定的helm模板,详情可以参考以下文档: