Helm部署安裝
1哎媚、helm的作用:像centos7中的yum命令一樣,管理軟件包喊儡,只不過helm這兒管理的是在k8s上安裝的各種容器拨与。
2、tiller的作用:像centos7的軟件倉(cāng)庫(kù)一樣艾猜,簡(jiǎn)單說類似于/etc/yum.repos.d目錄下的xxx.repo买喧。
參考文獻(xiàn):
http://www.reibang.com/p/5db132101a09
一捻悯、前提要求
- Kubernetes1.5以上版本
- 集群可訪問到的鏡像倉(cāng)庫(kù)
- 執(zhí)行helm命令的主機(jī)可以訪問到kubernetes集群
二、環(huán)境說明:
-
物理環(huán)境說明
名稱 IP 版本號(hào) master 172.16.91.205 centos7.5 -
服務(wù)說明
名稱 版本號(hào) kubernetes v1.12.1 Helm v2.9.1
三淤毛、部署Helm
3.1 安裝Helm的客戶端
3.1.1 方法一: 通過腳本的方式安裝客戶端
-
下載安裝腳本
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > get_helm.sh
-
添加執(zhí)行權(quán)限
chmod 700 get_helm.sh
-
運(yùn)行腳本
./get_helm.sh
3.1.2 方案二:直接下載二進(jìn)制文件
-
下載二進(jìn)制文件
wget https://storage.googleapis.com/kubernetes-helm/helm-v2.9.1-linux-amd64.tar.gz
-
解壓helm-v2.9.1-linux-amd64.tar.gz
tar -zxvf helm-v2.9.1-linux-amd64.tar.gz
-
移動(dòng)到/usr/local/bin目錄下
mv linux-amd64/helm /usr/local/bin/
-
添加執(zhí)行權(quán)限
chmod +x /usr/local/bin/helm
-
測(cè)試使用可以使用(獲取客戶端的版本號(hào))
helm version
3.2 安裝Helm的服務(wù)端tiller
-
準(zhǔn)備鏡像(可以根據(jù)自己的環(huán)境來(lái)準(zhǔn)備)
- docker pull registry.cn-qingdao.aliyuncs.com/kubernetes_xingej/tiller:v2.9.0
- docker tag 2a1d7ef9d530 gcr.io/kubernetes-helm/tiller:v2.9.0
-
為tiller創(chuàng)建serviceaccount和clusterrolebinding
tiller的服務(wù)端是一個(gè)deployment今缚,
在kube-system namespace下,
會(huì)去連接kube-api創(chuàng)建應(yīng)用和刪除钱床,所以需要給他權(quán)限kubectl create serviceaccount --namespace kube-system tiller kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
-
初始化
- 方法一:自動(dòng)拉取鏡像
- helm init
- 方法二:指定鏡像
- helm init -i gcr.io/kubernetes-helm/tiller:v2.9.0
- 方法一:自動(dòng)拉取鏡像
-
為應(yīng)用程序設(shè)置serviceaccount:
kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'