天天看點

再次實踐 MySQL chart - 每天5分鐘玩轉 Docker 容器技術(166)

學習了 chart 結構和模闆的知識後,現在重新實踐一次 MySQL chart,相信會有更多收獲。

chart 安裝前的準備

作為準備工作,安裝之前需要先清楚 chart 的使用方法。這些資訊通常記錄在 values.yaml 和 README.md 中。除了下載下傳源檔案檢視,執行 

helm inspect values

 可能是更友善的方法。

再次實踐 MySQL chart - 每天5分鐘玩轉 Docker 容器技術(166)

輸出的實際上是 values.yaml 的内容。閱讀注釋就可以知道 MySQL chart 支援哪些參數,安裝之前需要做哪些準備。其中有一部分是關于存儲的:

再次實踐 MySQL chart - 每天5分鐘玩轉 Docker 容器技術(166)

chart 定義了一個 PersistentVolumeClaim,申請 8G 的 PersistentVolume。由于我們的實驗環境不支援動态供給,是以得預先建立好相應的 PV,其配置檔案 

mysql-pv.yml

 内容為:

再次實踐 MySQL chart - 每天5分鐘玩轉 Docker 容器技術(166)

建立 PV 

mysql-pv

再次實踐 MySQL chart - 每天5分鐘玩轉 Docker 容器技術(166)

接下來就可以安裝 chart 了。

定制化安裝 chart

除了接受 values.yaml 的預設值,我們還可以定制化 chart,比如設定 

mysqlRootPassword

Helm 有兩種方式傳遞配置參數:

  1. 指定自己的 values 檔案。

    通常的做法是首先通過 

    helm inspect values mysql > myvalues.yaml

    生成 values 檔案,然後設定 

    mysqlRootPassword

    ,之後執行 

    helm install --values=myvalues.yaml mysql

  2. 通過 

    --set

     直接傳入參數值,比如:
再次實踐 MySQL chart - 每天5分鐘玩轉 Docker 容器技術(166)

mysqlRootPassword

 設定為 

abc123

。另外,

-n

 設定 release 為 

my

,各類資源的名稱即為

my-mysql

helm list

 和 

helm status

 可以檢視 chart 的最新狀态。

再次實踐 MySQL chart - 每天5分鐘玩轉 Docker 容器技術(166)

PVC 已經 

Bound

,Deployment 也 

AVAILABLE

更新和復原 release

release 釋出後可以執行 

helm upgrade

 對其更新,通過 

--values

 或 

--set

應用新的配置。比如将目前的 MySQL 版本更新到 5.7.15:

再次實踐 MySQL chart - 每天5分鐘玩轉 Docker 容器技術(166)

等待一些時間,更新成功。

再次實踐 MySQL chart - 每天5分鐘玩轉 Docker 容器技術(166)

helm history

 可以檢視 release 所有的版本。通過 

helm rollback

 可以復原到任何版本。

再次實踐 MySQL chart - 每天5分鐘玩轉 Docker 容器技術(166)

復原成功,MySQL 恢複到 5.7.14。

再次實踐 MySQL chart - 每天5分鐘玩轉 Docker 容器技術(166)

到這裡,相信大家已經會使用 chart 了。下一節我們學習如何開發自己的 chart。

書籍:

1.《每天5分鐘玩轉Kubernetes》

https://item.jd.com/26225745440.html

2.《每天5分鐘玩轉Docker容器技術》

https://item.jd.com/16936307278.html

3.《每天5分鐘玩轉OpenStack》

https://item.jd.com/12086376.html