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。
-
修改現有chart。
-
使用OpenShift Container Platform或Kubernetes資源創建自己的chart。
-
將應用程序打包並共享為chart。
安裝Helm
前提條件
- 已經安裝了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
- 給文件添加執行權限
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后,進行一下操作。
- 創建一個項目
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
- 清除測試數據
oc delete project mysql
在OpenShift容器平台上創建自定義Helm Charts
- 創建一個項目
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
- 清除測試數據
oc delete project nodejs-ex-k