openshift 4.3中安裝helm3并通過helm方式部署應用
簡介
Helm是一個命令行界面(CLI)工具,可簡化將應用程序和服務部署到OpenShift Container Platform集群的過程。 Helm使用一種稱為chart的包格式。 Helm chart 是描述OpenShift容器平臺資源的文件集。
在openshift中部署Helm,我們可以獲得以下效益:
充分利用k8s helm部署大量ocp operator hub沒有的應用,比如gitlab新版本就只支持helm方式在ocp中部署。
搜索存儲在chart repository中的chart。
修改現(xiàn)有chart。
使用OpenShift Container Platform或Kubernetes資源創(chuàng)建自己的chart。
將應用程序打包并共享為chart。
安裝Helm
前提條件
- 已經(jīng)安裝了1.13版或更高版本的Go。
安裝過程
- 下載helm二進制文件到path
curl -L https://mirror.openshift.com/pub/openshift-v4/clients/helm/latest/helm-linux-amd64 -o /usr/local/bin/helm
- 給文件添加執(zhí)行權限
chmod +x /usr/local/bin/helm
- 檢查安裝的helm版本
[root@misc ~]# helm version
version.BuildInfo{Version:"v3.0", GitCommit:"b31719aab7963acf4887a1c1e6d5e53378e34d93", GitTreeState:"clean", GoVersion:"go1.13.4"}
在OpenShift容器平臺集群上安裝Helm charts
登錄openshift container platform后,進行一下操作。
- 創(chuàng)建一個項目
oc new-project mysql
- 將Helm charts倉庫添加到本地Helm客戶端
#使用阿里云的k8s helm鏡像源
helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
- update 倉庫
helm repo update
- 測試安裝樣例
helm install mysql1 stable/mysql
- 驗證安裝是否成功
helm list
- 清除測試數(shù)據(jù)
oc delete project mysql
在OpenShift容器平臺上創(chuàng)建自定義Helm Charts
- 創(chuàng)建一個項目
oc new-project nodejs-ex-k
- 下載包含OpenShift容器平臺對象的Node.js chart示例
git clone https://github.com/redhat-developer/redhat-helm-charts
- 進入示例目錄
cd redhat-helm-charts/alpha/nodejs-ex-k/
- 編輯chart.yaml文件
vi Chart.yaml
- 驗證修改是否正確
helm lint
- 安裝修改后的chart
cd ..
helm install nodejs-chart nodejs-ex-k
- 驗證安裝是否成功
helm list
- 清除測試數(shù)據(jù)
oc delete project nodejs-ex-k