Helm使用小技巧

发布时间 2023-10-25 14:23:09作者: 这个手刹不太灵儿

1、背景

Helm 是一个 Kubernetes 的包管理工具,有点类似于 Mac 上的 brewPython 中的 PIP;可以很方便的帮我们直接在 kubernetes 中安装某个应用。

比如我们可以直接使用以下命令方便的在 k8s 集群安装和卸载 MySQL:

helm install my-sql oci://registry-1.docker.io/bitnamicharts/mysql -n mysql
helm uninstall my-mysql -n mysql

对于一些复杂的应用使用 Helm 一键安装会更简单:

helm repo add apache https://pulsar.apache.org/charts
helm install my-pulsar apache/pulsar --version 3.0.0 -n pulsar

当然,这仅仅只是帮我们生成了部署所需的yaml文件。

2、升级

2.1、回滚

# 在一个没有values-2.10.3.yaml文件的目录下执行该命令,会导致集群ns为pulsar下的资源全部删除
helm upgrade pulsar ./charts/pulsar --version 2.9.2 -f charts/pulsar/values-2.10.3.yaml -n pulsar

# 使用该命令进行回滚
helm rollback version

2.2、模拟升级

- dry-rundebug参数可以指定模拟升级和输出详细的内容。
- 这样我们就可以在升级前先查看debug.yaml里的内容是不是符合我们的预期。
helm upgrade pulsar ./charts/pulsar --version 2.9.2 -f charts/pulsar/values-2.10.3.yaml -n pulsar --dry-run --debug > debug.yaml

2.3、对比升级

# 为了能直观的看出哪些地方是我们修改的,社区已经有了相关的插件,可以帮我们高亮显示修改的地方
helm plugin install https://github.com/databus23/helm-diff
# 升级前先使用该插件
helm diff upgrade pulsar ./charts/pulsar --version 2.9.2 -f charts/pulsar/values-2.10.3.yaml -n pulsar
# 不用担心这个命令会直接升级,它会自动加上 --dry-run --debug 参数。