基於k8s 1.10集羣環境Helm安裝

簡介

Helm 是 Kubernetes 官方支持的包管理工具,可以方便地發現、共享和使用爲Kubernetes構建的應用。
能夠很便捷的對k8s應用進行版本管理控制。

安裝

這裏使用目前最新的版本2.9.0,可以直接通過官方地址下載
官方下載速度較慢,這裏我也上傳了一個包,方面大家使用:下載地址

安裝也分爲兩種,k8s集羣啓用了RBAC權限控制和沒有啓用權限控制。

沒有啓用權限控制

當沒有啓用權限控制時,安裝部署過程很簡單,解壓後直接執行helm init即可。
但是默認helm會去官方倉庫下載服務端tiller鏡像,地址爲:gcr.io/kubernetes-helm/tiller:v2.9.0
由於某種衆所周知的原因,gcr.io這個倉庫是無法使用的,這裏我也通過阿里雲容器服務,上傳了一個鏡像供大家使用。
只要在我們初始化的時候,指定使用的tiller鏡像地址即可,如下:

helm init --tiller-image registry.cn-hangzhou.aliyuncs.com/luhaoyuan/tiller:v2.9.0

啓用RBAC權限控制

如果啓用了權限控制,那就麻煩一點了,需要我們創建對應的serviceaccount,否則以下報錯:

list: failed to list: Get http://localhost:8080/api/v1/namespaces/kube-system/configmaps?
labelSelector=OWNER%3DTILLER: dial tcp 127.0.0.1:8080: connect: connection refused

執行helm ls的時候報下面這種錯誤提示:

Error: configmaps is forbidden: User "system:serviceaccount:kube-system:default" 
cannot list configmaps in the namespace "kube-system"

好了,我們開始安裝並授予權限吧,依次執行以下命令:

# 在kube-system命名空間中創建tiller賬戶
kubectl create serviceaccount --namespace kube-system tiller

# 創建角色並授予cluster-admin權限
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller

# 指定賬戶進行初始化,別忘了還要指定tiller鏡像哦
helm init --service-account tiller --tiller-image registry.cn-hangzhou.aliyuncs.com/luhaoyuan/tiller:v2.9.0

# 最後驗證一下,是否有報錯,執行以下命令沒報錯則表示成功了
helm ls

參考鏈接:https://github.com/kubernetes/helm/issues/3460

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