您好,登錄后才能下訂單哦!
本篇內容介紹了“如何部署和體驗Helm”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在Kubernetes上進行容器化部署并非易事,docker、環境變量、存儲、網絡等方面都會涉及到,這些復雜的操作可以被Helm應用包管理工具實現,避免了全手工操作的,Helm官網:https://helm.sh
本次實戰環境是kubernetes集群(1.15.3版本),由三臺CentOS7.7服務器組成;
部署完畢后,在體驗Helm的環節,需要您提前準備好NFS,作為部署應用的網絡存儲空間;
ssh登錄到可以執行kubectl操作的服務器:
下載helm包,地址:https://get.helm.sh/helm-v2.16.1-linux-amd64.tar.gz
解壓:
tar -zxvf helm-v2.16.1-linux-amd64.tar.gz
把解壓后的文件夾內的helm文件放入<font color="blue">/usr/local/bin/</font>:
mv linux-amd64/helm /usr/local/bin/
查看helm版本,如下,可見客戶端版本是<font color="blue">2.16.1</font>,由于helm服務端(名為tiller)還沒有部署,因此顯示"could not find tiller":
[root@node1 ~]# helm version Client: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"} Error: could not find tiller
客戶端部署完畢,接下來要把ServiceAccount和角色綁定建好
創建名為<font color="blue">tiller</font>的ServiceAccount:
kubectl create serviceaccount --namespace kube-system tiller
把tiller與角色tiller-cluster-rule進行綁定:
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
helm初始化,其中tiller的鏡像來自阿里云,并且將默認倉庫也設置為阿里云的:
helm init --upgrade -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.16.1 --stable-repo-url https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts --service-account tiller
等待控制臺提示成功后再次執行<font color="blue">helm version</font>,輸出如下,可見helm的服務端已經返回了信息:
[root@node1 ~]# helm version Client: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"} Server: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
現在helm已裝好,接下來部署個應用試試
接下來用helm部署服務的時候會用到存儲卷,因此要提前準備PV;
我這里已經準備好了NFS作為PV;
注意,K8S集群所有宿主機上都要裝好NFS客戶端,CentOS的安裝命令如下:
yum install nfs-utils -y
創建名為<font color="blue">pv-tomcat.yaml</font>的文件,內容如下,其中<font color="blue">192.168.133.142</font>是NFS服務器的地址,<font color="blue">/usr/local/work/test/001</font>是可用的存儲路徑:
apiVersion: v1 kind: PersistentVolume metadata: name: pv-tomcat namespace: default spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Recycle nfs: path: /usr/local/work/test/001 server: 192.168.133.142
執行以下命令創建PV:
kubectl create -f pv-tomcat.yaml
PV已經準備好,可以通過Helm部署應用了
想部署tomcat,執行命令helm search tomcat查找,卻發現阿里云的helm倉庫里沒有,只能在其他倉庫去找了;
增加一個倉庫:
helm repo add bitnami https://charts.bitnami.com/bitnami
再次查找tomcat,這回有了:
[root@node1 ~]# helm search tomcat NAME CHART VERSION APP VERSION DESCRIPTION bitnami/tomcat 6.0.6 9.0.29 Chart for Apache Tomcat
執行以下命令部署tomcat,指定chat名為my-tomcat:
helm install \ --name my-tomcat \ bitnami/tomcat
使用<font color="blue">helm list</font>命令查看:
[root@node1 ~]# helm list NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE my-tomcat 1 Sun Nov 24 20:29:16 2019 DEPLOYED tomcat-6.0.6 9.0.29 default
使用<font color="blue">kubectl get services</font>命令查看kubernetes服務,可見為tomcat創建了service,類型是<font color="blue">LoadBalancer</font>:
[root@node1 local]# kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.233.0.1 <none> 443/TCP 3h46m my-tomcat LoadBalancer 10.233.16.166 <pending> 80:31229/TCP 100s
由上述信息可見,tomcat服務類型為LoadBalancer,因此我們可以通過宿主機的31229端口訪問,如下圖可見:
“如何部署和體驗Helm”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。