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