2.1 KiB
2.1 KiB
Helm是什么
Helm就是一个K8s的软件包管理工具,相当于centos的yum或是ubuntu的apt-get。所以一个完整的Helm体系就可以概括为: !Drawing 2022-01-10 23.10.38.excalidraw
当然,Helm的仓库可以有很多供应商,就像yum的仓库有不同的源,阿里的,腾讯的,还有centos官方的,有一些软件,你在阿里上面找不到,但是腾讯的源有。一样的道理。
Helm软件包 - Chart
在kubernetes上面运行的,是服务,所以chart就是这些服务运行的定义,例如:
- 定义应用:
- 我需要跑一个nginx应用服务,运行一个网站,然后这个应用通过一个80端口向外提供服务。
- 我需要跑一个spring boot应用服务,提供一些接口,供上面的网站调用。
- 定义服务
- 定义一个web服务,后端指向上述nginx应用服务
- 定义一个api服务,后端指向上述的springboot应用服务
- 开放服务
- 通过ingress做域名解析,将web.example.com解析到上面的web服务
- 通过ingress做域名解析,将api.example.com解析到上面的api服务
Helm仓库
Harbor,是一个企业级的制品库管理系统,这里说的制品,包括了Docker镜像和Helm包。所以,以harbor为基础,可以搭建一个企业私有的制品发行管理系统。
创医元的Harbor地址为:创医元harbor
关于Harbor的详细介绍参考制品仓库Harbor
HelmCLI
helm官方提供了一个没有比yum看起来更强大的工具,也就是这样一个命令行。
- 查找仓库中的mysql服务
除了最基本的chart包操作,还有:
- 制作Chart包
- 仓库(repo)管理
- 集群中服务的安装/卸载/升级
- 发布
可以认为,通过HelmCLI和Harbor我们可以完成一个产品的发行制作与部署、升级等运费的管理操作
