Kumu's wiki
  • SUMMARY
  • Docker
    • 理论概述
    • 安装入门
    • 配置说明
    • 基础命令
    • 镜像构建
    • 镜像存储
      • OverlayFS 存储驱动
      • Habor 安装和升级标注
    • Compose
      • Compose 概览
      • Compose 安装
      • Compose 入门
      • Compose 环境变量
      • Compose 服务扩展
      • Compose 网络
      • Compose 生产实践
      • Compose 启动顺序控制
  • Kubernetes
    • 架构概览
    • 基础术语
    • 集群构建
    • 工作负载
      • Deployments
      • StatefulSets
      • Volumes
      • Persistent Volumes
    • 集群调度
      • 亲和性和反亲和性
      • 污点和容忍机制
    • 集群组件
      • Kubelet
    • 网络方案
      • 网络策略
      • Calico BGP 网络(v2.6.x)
      • Kubelet CNI 源码解析
    • client-go
      • client-go 背后机制
    • Helm
      • Helm 架构
      • Helm 快速上手
      • Helm 使用
      • Helm 命令
    • Google 大规模集群管理器 Borg
由 GitBook 提供支持
在本页
  • HELM 的目的
  • 组件
  • 实现

这有帮助吗?

  1. Kubernetes
  2. Helm

Helm 架构

上一页Helm下一页Helm 快速上手

最后更新于5年前

这有帮助吗?

HELM 的目的

Helm 是一个管理 Kubernetes 包 charts 的工具。Helm 可以做以下事情:

  • 从 scratch 创建新的 charts

  • 打包 charts 为归档(tgz)文件

  • 与 chart 仓库进行交互

  • 在已存在的 Kubernetes 集群中安装和卸载 charts

  • 管理已安装 charts 的 release 生命周期

对于 Helm,这里有三个重要的概念:

  • 1、chart 包含创建一个 Kubernetes 应用实例所必要的信息

  • 2、config 包含可以合并到 chart 包创建可发布对象的配置信息

  • 3、release 是 chart 的运行实例,包含指定的配置

组件

Helm 是一个由两个不同部分实现的可执行文件:

The Helm Client 是提供终端用户的命令行客户端。客户端负责以下功能:

  • 本地 chart 开发

  • 管理 repositories

  • 管理 releases

  • 对接 Helm library 仓库

    • 发送要安装的 charts

    • 请求升级或者卸载已存在的 releases

The Helm Library 提供了执行所有 Helm 操作的逻辑。它与 Kubernetes API 服务器交互并提供以下功能:

  • 结合 chart 和配置以构建一个 release

  • 在 Kubernetes 中安装 charts,并提供后续的 release 对象

  • 通过与 Kubernetes 交互来升级或者卸载 charts

独立的 Helm library 封装了 Helm 逻辑,以便可以由不同的客户端使用。

实现

Helm client 和 library 通过 Go 语言编写。

library 使用 Kubernetes client library 连接 Kubernetes。当前,library 使用 RESET + JSON。它使用 Kubernetes 内部的 Secrets 来存储信息。它不需要自己的数据库

配置文件尽可能以 YAML 编写。

https://developer.ibm.com/technologies/containers/blogs/kubernetes-helm-3/