Files
obsidian_vault/settings/archived/work/2021/kubernetes的运维工具/Helm简要介召.md
T
2025-12-27 11:44:50 +08:00

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就是这些服务运行的定义,例如:

  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

关于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我们可以完成一个产品的发行制作与部署、升级等运费的管理操作

安装