學習了 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 檔案。
通常的做法是首先通過
生成 values 檔案,然後設定helm inspect values mysql > myvalues.yaml
,之後執行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.html2.《每天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html3.《每天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html