學習了 chart 結構和模板的知識后,現在重新實踐一次 MySQL chart,相信會有更多收獲。
chart 安裝前的准備
作為准備工作,安裝之前需要先清楚 chart 的使用方法。這些信息通常記錄在 values.yaml 和 README.md 中。除了下載源文件查看,執行 helm inspect values 可能是更方便的方法。

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

chart 定義了一個 PersistentVolumeClaim,申請 8G 的 PersistentVolume。由於我們的實驗環境不支持動態供給,所以得預先創建好相應的 PV,其配置文件 mysql-pv.yml 內容為:

創建 PV mysql-pv:

接下來就可以安裝 chart 了。
定制化安裝 chart
除了接受 values.yaml 的默認值,我們還可以定制化 chart,比如設置 mysqlRootPassword。
Helm 有兩種方式傳遞配置參數:
-
指定自己的 values 文件。
通常的做法是首先通過helm inspect values mysql > myvalues.yaml生成 values 文件,然后設置mysqlRootPassword,之后執行helm install --values=myvalues.yaml mysql。 -
通過
--set直接傳入參數值,比如:

mysqlRootPassword 設置為 abc123。另外,-n 設置 release 為 my,各類資源的名稱即為my-mysql。
通過 helm list 和 helm status 可以查看 chart 的最新狀態。

PVC 已經 Bound,Deployment 也 AVAILABLE。
升級和回滾 release
release 發布后可以執行 helm upgrade 對其升級,通過 --values 或 --set應用新的配置。比如將當前的 MySQL 版本升級到 5.7.15:

等待一些時間,升級成功。

helm history 可以查看 release 所有的版本。通過 helm rollback 可以回滾到任何版本。

回滾成功,MySQL 恢復到 5.7.14。

到這里,相信大家已經會使用 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
