第五章 helm 轻松完爆 release

目录

1 release 介绍

2 release 查看

3 release 安装

4 release 更新

    4.1 基于命令行更新 release

    4.2 基于文件更新 release

    4.3 查看 release 更新后的新值

5 release 版本

6 release 回滚

7 release 卸载


1 release 介绍

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

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


2 release 查看

# helm ls

clipboard1.png


3 release 安装

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

# helm search repo nginx-ingress

# helm install mynginx-ingress google/nginx-ingress

clipboard2.png


4 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

clipboard3.png4.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

clipboard4.png

4.3 查看 release 更新后的新值

# helm get values mynginx-ingress

clipboard5.png


5 release 版本

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

# helm history mynginx-ingress

clipboard6.png


6 release 回滚

# helm rollback mynginx-ingress 4

clipboard7.png


spacer.gif7 release 卸载

# helm uninstall mynginx-ingress

clipboard8.png

猜你喜欢

转载自blog.51cto.com/14625168/2455495
今日推荐