Helm

【helm是什么】helm官网:Helm
helm是kubernetes的包管理器,包管理器类似我们在ubuntu中使用的apt在centos中的yum一样,能够快速查找和下载资源包,helm由客户端组件helm和服务组件tiller组成,能够将一组众多分散的k8s资源打包统一管理,是查找共享和使用kubernets构建软件的最佳方式。
【helm三大核心概念】
chart是一个helm包,它包含了kubernetes集群当中运行应用程序,工具或者服务所需的所有资源定义。
仓库(repository)是可以收集和共享chart的地方,仓库是针对kubernetes的包。
发布(release)是kubernetes集群中运行的chart实例。一个chart通常可以安装多次到同一个集群中。
可以理解为helm将chart安装到kubernetes中,为每个安装创建一个新的发布,然后要找到新的chart,你可以搜索helm chart仓库
【helm安装前提条件】
1,一个kubernets集群环境
2,helm客户端和tiller服务器
helm是一个可以使用的命令行工具,用于本地开发以及管理chart,chart仓库管理等。
tiller是helm的服务器,tiller负责接收helm的请求,与k8s的apiserver交互,根据chart来生成一个release并管理release。
【helm安装】
1,二进制包安装helm
先将包下载到需要安装的节点,前提是需要联网。
然后解压二进制包,helm只是一个单纯的可执行文件
tar -zxvf helm-v3.2.0-linux-amd64.tar.gz
cp -av linux-amd64/helm /usr/bin
然后查看helm是否可以使用,helm --help
2,apt安装helm包,(Debian,ubuntu)
直接更新apt
apt-get update
然后开始安装
apt-get install helm
【helm管理仓库命令行工具】
1,helm仓库
helm repo -h #查看帮助
helm repo list #查看可用helm仓库
helm repo add dev "URL" #添加helm仓库
注意如果没有仓库这里会显示
0
helm remove [仓库名] #可以删除仓库
2,helm管理
helm serve --address "0.0.0.0:8879" #启动服务,浏览器访问本机8879端口即可。
【helm仓库】
这里可以从helm官方文档的应用中心获取仓库的链接。
0
然后可以搜索自己想要的包(chart)
0
这里随机选择一个
0
然后点击安装,就可以查看到可复制的仓库名
0
就可以添加仓库,然后查看,仓库已经添加
0
注意:
每次添加完仓库后注意及时刷新,helm rpeo update进行更新。
0
【helm包安装】
1,helm install [自定义名称] [仓库名] --version [版本号]
使用helm search repo [包名] #可以查看可以安装的包
但是安装前根据自己的实际环境进行安装,在官网中可以看到
0
否则会出现无法安装的情况。
还有所需镜像
2,查看和删除安装的插件
查看安装的插件,加上-A查看所有状态的插件
0
k8s会创建相应资源来部署这个应用。
可以通过k8s的资源来进行查看这个应用。
kubectl get all -l release=[自己创建的应用名]
查看这个发布的所有相关资源。
然后删除插件
0
【管理chart包】
1,管理包
helm search repo [包名] #搜索指定包
helm show chart [包名] #查看包的信息和特性
helm show all [包名] #查看所有的信息和特性
2,修改一个包的启动配置
命令修改
查看一个chart包可以配置的所有参数
helm show values [包名]
然后通过定制yaml文件来覆盖原来的数据。
创建好的yaml文件,在创建文件的时候,添加 -f 跟在后面即可。
helm install [自己设定的名称] [包名] -f [yaml]
 
命令行修改
还可以使用-set进行设置,指定的值将持久化在configmap中,给对应的release
(1)
helm --set [key]=[value],[key]=[value]
相当于key: value
key: value
(2)
helm --set [key1]=[key2]=[vlaue]
相当于key1:
key2: value
这些值可以直接替换
(3)
helm -set key1[0].port=80,servers[0].host=example
这些值相当于:
key1
- port: 80
host: example
【手动安装包】
通过链接直接下载包,存到k8s集群当中,手动安装。
0
当然也可以在命令行中
使用fetch下载到本地 helm fetch [包名] --version [版本号]
0
【更新和回滚配置】
1,helm需要更新一个已经创建release环境,可以创建一个写好替换内容的yaml文件
然后helm upgrade [发布名] [包名] -f [yaml文件]
就更新完毕,然后helm get values [发布名] , 查看配置的内容
2,然后也可以使用helm rollback mysql 回滚。
先查看历史版本
helm history mysql
历史版本会显示标号
helm rollback mysql [标号]
直接回滚到指定版本
 
最后注意helm写在掉实例后,其pvc是不会被自动删除的。
posted @ 2022-04-26 17:08  ning-cloud  阅读(91)  评论(0)    收藏  举报