1、简介:
Helm 是 Kubernetes 的包管理器,是查找、分享和使用软件构建 Kubernetes 的最优方式。Helm 帮助用户管理 Kubernetes 应用——Helm 图表,即使是最复杂的 Kubernetes 应用程序,都可以方便的定义,安装和升级。
2、概念:
Chart:helm包
Registry:helm的仓库,通常使用chartmesume或者harbor
Release:是运行在k8s集群中的charts一个实例
3、安装:
#下载二进制:
wget https://get.helm.sh/helm-v3.9.2-darwin-arm64.tar.gz
#解压
tar xzvf helm-v3.9.2-darwin-arm64.tar.gz
#移动
mv helm /usr/local/bin
#查看是否安装成功:
helm version
4、仓库操作:
#添加本地helm仓库
helm repo add myhelm --username admin --password 密码 https://chart.sllme.com
#列出本地所有helm仓库
helm repo list
#移除添加的helm仓库
helm repo remove myhelm
5、chart相关操作
#查看一个仓库下所有的chart,myhelm是上面查出来的
helm search repo myhelm
#curl查看仓库下所有chart
curl https://chart.sllme.com/api/charts -u admin:密码 | jq
#下载一个chart,指定版本下载,下载的是一个tar包
helm pull myhelm/digiprime --version 0.0.2
#下载一个chart,直接是一个文件夹
helm pull myhelm/digiprime --version 0.0.2 --untar
chart相关操作:
#添加一个测试的chart仓库:
helm repo add ceshi http://106.14.73.81:8080
#进行修改,然后打包上传
tar czvf digiprime-0.0.3.tgz digiprime
#安装helm支持push
helm plugin install https://github.com/chartmuseum/helm-push.git
#上传包
helm cm-push digiprime-0.0.3.tgz ceshi #备注:-f可以强制覆盖已有版本
#上传报错:Error: 500: open /charts/digiprime-0.0.3.tgz: permission denied
#解决:只需要将chartmesuem的目录权限改成777即可。
#更新本地仓库
helm repo update ceshi
#再去查看即可看到新上传的版本
6、Release相关操作:
#搜索一个chart:
helm repo add wp https://charts.bitnami.com/bitnami
helm search repo wp
#安装前查看chart的可配置项:
helm show values wp/wordpress --version 15.0.12
#安装一个chart:
helm install wordpress wp/wordpress --version 15.0.12
#查看Release
helm list #或者: kubectl get pod
#追踪Release的状态:
helm status wordpress
#升级wordpress:
helm upgrade -f panda.yaml wordpress wp/wordpress
#回滚:
helm rollback wordpress 1
#删除Release
helm uninstall wordpress
7、创建一个chart:
#创建一个chart
helm create nginx
#对上面创建的chart进行修改,然后打包
helm package nginx
#上传:
helm cm-push nginx-0.1.0.tgz ceshi
8、chart语法检查:
#创建一个chart
helm create nginx
#lint检测语法,如果有里面有错误可以检测出来
helm lint nginx
9、Release包历史版本查询、更新、回滚:
#安装一个chart
helm install nginx ./nginx
#修改镜像版本,进行升级更新:
helm upgrade nginx ./nginx
#查看历史版本:
helm history nginx
#修改镜像版本,再次进行更新升级:
helm upgrade nginx -f values.yaml . #这种升级方式和上面的统一的效果
#回滚旧版本,根据历史版本号:
helm rollback nginx 2
10、查看chart的信息:
helm show chart nginx-0.1.0.tgz
#或者
helm show chart ./nginx
11、渲染一个chart模板:将chart模版渲染成deploy的yaml文件:
#第一种普通渲染:打印到屏幕
helm template nginx-0.1.0.tgz
#或者:
helm template ./nginx
#第二种渲染:输出文件
helm template nginx-0.1.0.tgz --output-dir ./deploy
#或者:
helm template ./nginx --output-dir deploy -f ./nginx/values.yaml
#备注:相关的yaml文件,就在deploy这个目录下面了
【完成】