(五)Helm之release

一、release简介

在以上的章节中曾介绍过 helm 的两大术语:chart 和 release。如果可以把 chart 比作程序源码的话,那么 release 则可以看做是程序运行时的进程。

chart 是用户可直接感知的对象(其表现形式就是 .tgz 格式的压缩包);而 release 理解起来则比较抽象,它是专属于 helm 的一个逻辑概念,用来标识在 k8s 中运行的一组资源。有了 release,helm 在操作 k8s 时,就再也不用逐个管理资源,而可以将一组相关的资源当做一个整体来操作,比如删除或升级。

二、release查看

# helm ls

image

三、release安装

在线安装指定的 chart,比如 nginx-ingress。

# helm search repo nginx-ingress
# helm install mynginx-ingress google/nginx-ingress

image

四、release更新

如果想修改运行时release的配置,可以使用--set或者-f选项进行修改。

4.1 基于命令行更新release

## mynginx-ingress 是上面创建的 release 名;google/nginx-ingress 是在线 chart 名
# helm upgrade --set controller.hostNetwork=true \
mynginx-ingress google/nginx-ingress

image

4.2 基于文件更新release

如果想基于文件来更新release,则首先需要将chart下载到本地,然后手动修改chart的values.yaml文件。

## 下载 chart
# helm pull google/nginx-ingress
## 解压缩 chart
# tar -zxvf nginx-ingress-1.26.1.tgz
## 修改 values.yaml 内容。比如修改 hostNetwork 的值为 true
# sed -i 's/hostNetwork: false/hostNetwork: true/g' nginx-ingress/values.yaml
## 针对文件使用 -f 选项更新 release
# helm upgrade mynginx-ingress nginx-ingress -f nginx-ingress/values.yaml

image

4.3 查看release更新后的新值

# helm get values mynginx-ingress

image

五、release版本

## 下图是 mynginx-ingress 这个 release 各个历史版本。其中 REVISION 5 是最新的版本。
# helm history mynginx-ingress

image

六、release回滚

helm rollback mynginx-ingress 4

image

七、release卸载

helm uninstall mynginx-ingress

image

posted @ 2022-05-25 11:31  比特边界  阅读(1071)  评论(0编辑  收藏  举报