第五章 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章