Helm3 概念介绍

语雀同文笔记:Helm 概念介绍 · 语雀

目录

Helm 和 相关组件

传统服务部署到K8s集群的流程

Helm 是什么

Helm 相关组件

Helm3 和 Helm2 的区别


Helm 和 相关组件
传统服务部署到K8s集群的流程

拉取代码 —>打包编译 —>构建镜像 —> 准 备一堆相关部署的yaml文件(如:deployment、service、 ingress等) —> kubectl apply 部署到 K8s 集群

传统部署引发的问题:

  • 随着引用的增多,需要维护大量的yaml文件
  • 不能根据一套 yaml文 件 来创建多个环境,需要手动进行修改。

例如:一般环境都分为dev、预生产、生产环境,部署完了dev这套环境,后面再部署预生产和生产环境,还需要复制出两套,并手动修改才行。

Helm 是什么

Helm 是 Kubernetes 的包管理工具,可以方便地发现、共享和构建 Kubernetes 应用,相当于 CentOS 系统中的 yum 工具,可以将一个服务相关的所有资源信息整合到一个 chart 包中,并且可以使用一套资源发布到

多个环境中,可以将应用程序的所有资源和部署信息组合到单个部署包中。

就像 Linux下的 rpm 包管理器,如yum/apt等, 可以很方便的将之前打包好的 yaml 文件部署到 Kubernetes 上。

Helm 相关组件

Helm 组件

组件介绍

Chart

是 Helm的一个整合后的 chart 包,包含一个应用所有的 Kubernetes声明模版,类似于yum的 rpm 包或者apt的dpkg文件。

理解:Helm 将打包的应用程序部署到 K8s,并将它们构建成 Chart。这些 Chart 将所有预配置的应用程序资源以及所有版本都包含在一个易于管理的包中。

Helm 把 Kubernetes 资源(如 Deployments、Services 或 Ingress等) 打包到一个 Chart中,Chart被保存到chart仓库。通过 Chart 仓库可用来存储和分享 Chart。

Helm Client

Helm 的客户端组件,负责和 K8s apiserver 通信

Repository

用于发布和存储 Chart 包的仓库,类似 yum 仓库或 docker 仓库

Release

用 Chart 包部署的一个实例。通过 Chart 在 K8s 中部署的应用都会产生一个唯一的。Release。同一 Chart 部署多次就会产生多个Release。

理解:将这些 Yaml 部署完成后,他也会记录部署时候的一个版本,维护了一个 Release 版本状态,通过 Release 这个实例,他会具体帮我们创建pod,deployment等资源。

Helm3 和 Helm2 的区别

Helm3 移除了 Tiller 组件:Helm2 中 Helm 客户端和 K8s 通信是通过 Tiller 组件和 K8s 通信,Helm3 移除了 Tiller 组件,直接使用 kubeconfig 文件和 K8s 的 apiserver 通信。

删除 release 命令变更: helm delete release-name --purge -> helm uninstall release-name

查看 charts 信息命令变更:helm inspect release-name -> helm show release-name

拉取 charts 包命令变更:helm fetch chart-name -> helm pull chart-name

Helm3 中必须指定 Release 名称,如果需要生成一个随机名称,需要加选项 --generate-name, Helm2 中如果不指定release名称, 可以自动生成一个随机名称:helm install

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值