1、Helm是什么?
helm是一个基于K8s的包管理工具。类似于linux的yum、ap-get install 之类的
将要部署到k8s的一些列资源和操作定义在yaml里。执行heml进行打包部署。
2、下载安装(linux下)
https://get.helm.sh/helm-v3.7.0-rc.3-linux-amd64.tar.gz
解压
tar -zxvf helm-v3.7.1-linux-amd64.tar.gz
解压出来目录是 linux-amd64/
cp -a linux-amd64/helm /usr/bin/
验证安装是否成功:
执行命令 helm version
可以看到结果:
version.BuildInfo{Version:"v3.7.1", GitCommit:"1d11fcb5d3f3bf00dbe6fe31b8412839a96b3dc4", GitTreeState:"clean", GoVersion:"go1.16.9"}
2、配置helm push
1)下载release
https://github.com/chartmuseum/helm-push/releases/tag/v0.10.4
2)解压
3)安装
helm plugin install 解压后的文件夹
4) 配置
①mkdir -p /root/.local/share/helm/plugins/helm-push
②tar -zxv helm-push_0.9.0_linux_amd64.tar.gz -C /root/.local/share/helm/plugins/helm-push/
③helm push -h
3、三个重要的概念
①Helm
概念见上面1
②release
基于chart的部署实体,一个chart在进行Heml部署后会生成一个对应的release;
③chart
通常是由多个yaml组成,比如Values.yaml等。是一系列k8s相关资源的集合。
4、Helm工作原理
Heml3是通过kubeconfig直接链接k8s集群的apiserver。使用者不需要去再配置RBAC权限,更方便了
5、使用
添加阿里云Chart仓库
helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
更新chart仓库:
helm repo update
查看repo仓库列表
helm repo list
查找某个chart资源:
helm search repo weave
安装某个chart
helm install ui aliyun/weave-scope
helm3 upgrade job-serivce charts/job -f charts/job/values.yaml -n default --set image.tag=${IMAGE-TAG}
6、helm部署
/usr/local/bin/helm upgrade ${HELM_RELEASE_NAME} --install --reuse-values -f ./values.yaml ${CHART_DIR}