一. Helm 概述

Helm 应用包管理器

1. 为什么需要 Helm ?

K8S 上的应用对象,都是由特定的资源描述组成,包括 deployment service 等。都保存各自文件中或者集中写到一个配置文件。然后 kubectl apply -f
在这里插入图片描述

  • 假设:如果应用只有一个或几个这样的服务组成,上面部署方式足够了。
  • 然而:对于一个复杂的应用,会有很多类似上面的资源描述文件,例如微服务架构应用,组成应用的服务可能多达十个,几十个。如果有更新或回滚应用的需求,可能要修改和维护所涉及的大量资源文件,而这种组织和管理应用的方式就显得力不从心了。
  • 说明:由于缺少对发布过的应用版本管理和控制,使Kubernetes上的应用维护和更新面临诸多的挑战,主要面临一下问题:
  1. 如何将这些服务作为一个整体管理;
  2. 这些资源文件如何高效复用;
  3. 不支持应用级别的版本管理;

2. Helm 介绍

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


Helm 有 3 个重要概念:

  • helm:一个命令行客户端工具,主要用于 Kubernetes 应用 Chart 的创建,打包,发布和管理;
  • Chart: 应用描述, 一系列用于描述 k8s 资源相关文件的集合;
  • Release:基于 Chart 的部署实体,一个 ChartHelm 运行后将会生成对用的一个 release;将 k8s 中创建出真实运行的资源对象。

3. Helm v3 变化

2019 年 11月 13日,Helm 团队发布 Helm v3 的第一个稳定版本。

  • 架构变化
    在这里插入图片描述

  • Release 名称可以在不同的命名空间重用

  • 支持将 Chart 推送至 Docker 镜像仓库中

  • 使用 JSONScheam 验证 chart values

  • 其他

  1. 为了更好的协调其他包管理者的措辞 Helm CLI 个别更名

helm delete 更名为 helm uninstall
helm inspect 更名为 helm show
helm fetch 更名为 helm pull

  1. 移除了基于本地临时搭建 Chart Repositoryhelm server 命令
  2. 自动创建命名空间

在不存在的命名空间中创建发行版本时,Helm 2 创建了命名空间。Helm 3 遵循其他 Kubernetes 对象的行为,如果命名空间不存在则返回错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值