openshift 4.3中安装helm3并通过helm方式部署应用
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