1. 背景

k8s上的应用对象,都是由特定的资源描述组成,包括deployment、service等,都保存在各自的文件中或集中写在一个配置文件中,然后kubectl apply -f 进行部署。如果应用只由一 个或几个这样的服务组成,上面部署方式足够了。而对于一个复杂的应用,会有很多类似 上面的资源描述文件,例如微服务架构应用,组成应用的服务可能多达十个,几十个。如 果有更新或回滚应用的需求,可能要修改和维护所涉及的大量资源文件,而这种组织和管 理应用的方式就显得力不从心了。

2. 介绍

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

3. 使用helm可以解决哪些问题

  1. 使用helm可以把这些yaml作为一个整体管理
  2. 可以实现yaml的高效复用
  3. 可以使用helm应用级别的版本管理

4. 核心概念

  1. helm:一个命令行客户端工具,主要用于 Kubernetes 应用 chart 的创建、打包、发布和管理。
  2. Chart:应用描述,一系列用于描述k8s资源相关文件的集合。即:yaml集合
  3. Release:基于Chart的部署实体,一个chart被Helm运行后将会生成对应的一个release;将在 k8s 中创建出真实运行的资源对象,可以进行应用级别的版本管理
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐