helm的使用
1. 安装helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
2. 基本概念
Helm是用来管理k8s集群上的软件包。
-
Chart
:代表helm软件包 -
Repository
:软件包的存放仓库 -
Release
:运行在k8s上的一个发布实例。
3. helm命令
Usage:
helm [command]
Available Commands:
completion generate autocompletion scripts for the specified shell
create create a new chart with the given name
dependency manage a chart's dependencies
env helm client environment information
get download extended information of a named release
help Help about any command
history fetch release history
install install a chart
lint examine a chart for possible issues
list list releases
package package a chart directory into a chart archive
plugin install, list, or uninstall Helm plugins
pull download a chart from a repository and (optionally) unpack it in local directory
push push a chart to remote
registry login to or logout from a registry
repo add, list, remove, update, and index chart repositories
rollback roll back a release to a previous revision
search search for a keyword in charts
show show information of a chart
status display the status of the named release
template locally render templates
test run tests for a release
uninstall uninstall a release
upgrade upgrade a release
verify verify that a chart at the given path has been signed and is valid
version print the client version information
4. 常用命令
4.1. helm search
- helm search hub:从 Artifact Hub 中查找并列出 helm charts。支持模糊匹配。
helm search hub wordpress
- helm search repo:基于指定仓库进行搜索。
helm repo add brigade https://brigadecore.github.io/charts
helm search repo brigade
# 列出所有版本
helm search repo apisix -l
4.2. helm install/uninstall
helm install <release_name> <chart_name>
# 示例
helm install happy-panda bitnami/wordpress -
# uninstall
helm uninstall RELEASE_NAME
安装自定义chart
helm install -f values.yaml bitnami/wordpress --generate-name
# 本地 chart 压缩包
helm install foo foo-0.1.1.tgz
# 解压后的 chart 目录
helm install foo path/to/foo
# 完整的 URL
helm install foo https://example.com/charts/foo-1.2.3.tgz
4.3. helm upgrade
helm upgrade happy-panda bitnami/wordpress
4.4. helm rollback
helm rollback <RELEASE> [REVISION] [flags]
4.5. helm repo
helm repo add dev https://example.com/dev-charts
helm repo list
helm repo remove
4.6. helm pull
从仓库下载并(可选)在本地目录解压。
helm pull [chart URL | repo/chartname]
helm pull [chart URL | repo/chartname] --version
5. 创建chart
5.1. 初始化chart
helm create mychart
查看生成的文件目录:
mychart
|-- charts # 目录用于存放所依赖的子chart
|-- Chart.yaml # 描述这个 Chart 的相关信息、包括名字、描述信息、版本等
|-- templates
| |-- deployment.yaml
| |-- _helpers.tpl # 模板助手文件,定义的值可在模板中使用
| |-- hpa.yaml
| |-- ingress.yaml
| |-- NOTES.txt # Chart 部署到集群后的一些信息,例如:如何使用、列出缺省值
| |-- serviceaccount.yaml
| |-- service.yaml
| `-- tests
| `-- test-connection.yaml
`-- values.yaml # 模板的值文件,这些值会在安装时应用到 GO 模板生成部署文件
移除默认模板文件,并添加自己的模板文件。
rm -rf mysubchart/templates/*
5.2. 调试模板
helm lint
是验证chart是否遵循最佳实践的首选工具。helm template --debug
在本地测试渲染chart模板。helm install --dry-run --debug
:我们已经看到过这个技巧了,这是让服务器渲染模板的好方法,然后返回生成的清单文件。helm get manifest
: 这是查看安装在服务器上的模板的好方法。
参考:
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
最后修改 July 23, 2023: develop operator (72f9df6)