前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >容器 & 服务:Helm Charts(一)

容器 & 服务:Helm Charts(一)

作者头像
程序员架构进阶
发布2021-10-11 10:31:19
1.4K0
发布2021-10-11 10:31:19
举报
文章被收录于专栏:架构进阶架构进阶

系列文章:

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

容器 & 服务:一个 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编写。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员架构进阶 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 前言
  • 二 Helm简介
  • 三 Helm架构
    • 3.1 Helm组件
      • 3.1.1 Helm Client
      • 3.1.2 Helm Library
      • 3.1.3 实现方式
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档