写点什么

容器 & 服务:Helm Charts(一)

发布于: 4 小时前
容器 & 服务:Helm Charts(一)

系列文章:

容器 & 服务:开篇,压力与资源

容器 & 服务:一个 Java 应用的 Docker 构建实战

容器 & 服务:Docker 应用的 Jenkins 构建

容器 & 服务:Docker 应用的 Jenkins 构建 (二)

容器 & 服务:K8s 与 Docker 应用集群 (一)

容器 & 服务:K8s 与 Docker 应用集群 (二)

容器 & 服务:Kubernetes 构件及 Deployment 操作

容器 & 服务: ClickHouse 与 k8s 架构

容器 & 服务: 扩容

容器 & 服务:metrics-server 探索

一 前言

由于工作原因,已经断更了很长时间,进来有几篇也都是零零散散不成体系。趁着节前的这点时间,有了一点空隙,捡起来这个停更几个月的系列。

在近来的工作中,docker 镜像更多是在测试环境使用,涉及到交付等落地环节时,更多还是要产出 Helm Charts,也存在着把 docker 镜像包装成 charts 的场景,这就需要对 helm charts 有个基础的了解,本篇先做概念性的介绍,了解 Helm Charts 到底是什么。

二 Helm 简介

Helm 官网:https://helm.sh/ 首页就对 Helm 做了简要描述:

The package manager for Kubernetes

Helm is the best way to find, share, and use software built for Kubernetes.

简单来说,Helm 是 Kubernetes 的管理器;是查找、分享 和 使用由 K8s 构建的软件的最佳方式。

详细一点:

Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.

Charts are easy to create, version, share, and publish — so start using Helm and stop the copy-and-paste.

Helm is a graduated project in the CNCF and is maintained by the Helm community.

很老但经典的套路,分三点:

  • Helm 帮助管理 Kubernetes 应用——Helm Charts 帮助我们定义,安装 和 升级 K8s 应用,包括最复杂的那种

  • Charts 易于创建、版本维护、分享和发布 —— 所以开始使用 Helm 并停止复制粘贴吧!

  • Helm 是 CNCF 的一个毕业项目,并由 Helm 社区维护

三 Helm 架构

3.1 Helm 组件

Helm 是一个可执行文件,它被实现为两个不同的部分: Helm Client 和 Helm Library。

3.1.1 Helm Client

Helm 客户端是供终端用户使用的命令行客户端,这个客户端的职责包括:

  • 本地 chart 开发

  • 管理仓库

  • 管理发布

  • 与 Helm library 进行接口交互,包括:

(1)发送即将被安装的 charts

(2)请求升级或卸载现有版本

3.1.2 Helm Library

Helm 库提供用于执行所有 Helm 操作的逻辑。它与 Kubernetes API server 进行接口交互,并提供下列能力:

  • 结合 chart 和配置来构建一个发布

  • 安装 charts 到 Kubernetes 中,并提供后续的发布对象

  • 通过与 Kubernete 的接口交互来升级和卸载 charts

单独的 Helm Library 封装了 Helm 逻辑使得它可以被不同的客户端使用。

3.1.3 实现方式

Helm 客户端和 library 都是通过 go 语言来编写的。Helm library 使用 Kubernete 客户端的库来与 Kubernetes 交互。目前这个 library 是使用 REST+JSON,它存储信息在 Kubernetes 内的密钥中,不需要自己的数据库。

如果可以,配置文件最好用 YAML 编写。


发布于: 4 小时前阅读数: 3
用户头像

磨炼中成长,痛苦中前行 2017.10.22 加入

微信公众号【程序员架构进阶】。多年项目实践,架构设计经验。曲折中向前,分享经验和教训

评论

发布
暂无评论
容器 & 服务:Helm Charts(一)