This commit is contained in:
2025-12-27 11:44:50 +08:00
commit ccd43fac1f
1193 changed files with 384161 additions and 0 deletions
@@ -0,0 +1,45 @@
### 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服务
<div style="text-align:center">
<img src="http://thoughts.taotechip.com/uPic/lyz6RO.png"/>
</div>
* 安装mysql服务到集群中
``````bash
$ helm install project_mysql c7n/mysql --namespace test_ns
``````
除了最基本的chart包操作,还有:
1. 制作Chart包
2. 仓库(repo)管理
3. 集群中服务的安装/卸载/升级
4. 发布
可以认为,通过HelmCLI和Harbor我们可以完成一个产品的发行制作与部署、升级等运费的管理操作
#### 安装