使用 Helm - 每天5分鐘玩轉 Docker 容器技術(163)

Helm 安裝成功後,可執行 helm search 查看當前可安裝的 chart。

這個列表很長,這裏只截取了一部分。大家不禁會問,這些 chart 都是從哪裏來的?

前面說過,Helm 可以像 apt 和 yum 管理軟件包一樣管理 chart。apt 和 yum 的軟件包存放在倉庫中,同樣的,Helm 也有倉庫。

Helm 安裝時已經默認配置好了兩個倉庫:stable 和 localstable 是官方倉庫,local 是用戶存放自己開發的 chart 的本地倉庫。

helm search 會顯示 chart 位於哪個倉庫,比如 local/cool-chart 和 stable/acs-engine-autoscaler

用戶可以通過 helm repo add 添加更多的倉庫,比如企業的私有倉庫,倉庫的管理和維護方法請參考官網文檔 https://docs.helm.sh

與 apt 和 yum 一樣,helm 也支持關鍵字搜索:

包括 DESCRIPTION 在內的所有信息,只要跟關鍵字匹配,都會顯示在結果列表中。

安裝 chart 也很簡單,執行如下命令可以安裝 MySQL。

helm install stable/mysql

如果看到如下報錯,通常是因爲 Tiller 服務器的權限不足。

執行如下命名添加權限:

kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

然後再次執行

helm install stable/mysql

輸出分爲三部分:

① chart 本次部署的描述信息:

NAME 是 release 的名字,因爲我們沒用 -n 參數指定,Helm 隨機生成了一個,這裏是 fun-zorse

NAMESPACE 是 release 部署的 namespace,默認是 default,也可以通過 --namespace 指定。

STATUS 爲 DEPLOYED,表示已經將 chart 部署到集羣。

② 當前 release 包含的資源:Service、Deployment、Secret 和 PersistentVolumeClaim,其名字都是 fun-zorse-mysql,命名的格式爲 ReleasName-ChartName

③ NOTES 部分顯示的是 release 的使用方法。比如如何訪問 Service,如何獲取數據庫密碼,以及如何連接數據庫等。

通過 kubectl get 可以查看組成 release 的各個對象:

因爲我們還沒有準備 PersistentVolume,當前 release 還不可用。

helm list 顯示已經部署的 release,helm delete 可以刪除 release。

Helm 的使用方法像極了 apt 和 yum,用 Helm 來管理 Kubernetes 應用非常方便。

chart 是 Helm 的應用打包格式,下節我們詳細介紹。

書籍:

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

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