快捷搜索:  汽车  科技

helm架构介绍(K8S工具分享-IBM出品的Helm入门系列之概览篇)

helm架构介绍(K8S工具分享-IBM出品的Helm入门系列之概览篇)Chart被组织为目录内文件的集合,其中目录名是Chart的名称。它包含模板YAML文件,这些模板有助于在运行时提供配置值,并且无需修改YAML文件。这些模板基于Go模板语言,Sprig lib中的功能和其他专用功能提供了编程逻辑。Helm 3从Helm 2客户端-服务器架构转向了客户端架构。客户端仍称为helm,并且有一个改进的Go库,该库封装了Helm逻辑,以便可以由不同的客户端使用。客户端是一个CLI,用户可以与它进行交互以执行不同的操作,例如安装/升级/删除等。客户端与Kubernetes API服务器和Chart存储库进行交互。它将Helm模板文件渲染为Kubernetes清单文件,用于通过Kubernetes API在Kubernetes集群上执行操作。有关更多详细信息,请参见Helm架构。Helm通常被称为Kubernetes应用程序包管理器。那么,使用Helm而不直接使用k

Helm简介

Helm是一个可简化Kubernetes应用程序安装和管理的工具。Helm可以理解为Kubernetes的apt/yum/homebrew。

此文档使用的是Helm的v3版本。如果我们使用的是Helm v2,请转到helm-v2分支。请参阅“Helm状态”以获取有关不同Helm版本的更多详细信息。

Helm状态

Helm v3于2019年11月发布。新老版本的接口非常相似,但是Helm的体系结构和内部架构发生了重大变化。有关更多详细信息,请查看Helm 3中的内容。

Helm v2计划支持1年“维护模式”。它指出以下内容:

  • 6个月的bug修复,直到2020年5月13日
  • 6个月的安全修复,直到2020年11月13日
  • 2020年11月13日开始,对Helm v2的支持将终止
为什么使用Helm

Helm通常被称为Kubernetes应用程序包管理器。那么,使用Helm而不直接使用kubectl有什么好处呢?

目标

这些实验提供了关于使用Helm优于直接通过Kubectl使用Kubernetes的优势的见解。后续的几个实验都分为两种情况:第一种情况提供了如何使用kubectl执行任务的示例;第二种情况提供了使用Helm的示例。完成所有实验后,我们可以:

  • 了解Helm的核心概念
  • 了解使用Helm而非直接使用Kubernetes进行部署的优势: 应用管理更新配置修订管理储存库和Chart图表共享
前提
  • 有一个正在运行的Kubernetes集群。有关创建集群的详细信息,请参阅《 IBM Cloud Kubernetes服务或Kubernetes入门指南》。
  • 已通过Kubernetes集群安装并初始化了Helm。有关Helm入门,请参阅在IBM Cloud Kubernetes Service上安装Helm或《 Helm快速入门指南》。
Helm概览

Helm是可简化Kubernetes应用程序安装和管理的工具。它使用一种称为“Chart”的打包格式,该格式是描述Kubernetes资源的文件的集合。它可以在任何地方(笔记本电脑,CI/CD等)运行,并且可用于各种操作系统,例如OSX,Linux和Windows。

helm架构介绍(K8S工具分享-IBM出品的Helm入门系列之概览篇)(1)

Helm 3从Helm 2客户端-服务器架构转向了客户端架构。客户端仍称为helm,并且有一个改进的Go库,该库封装了Helm逻辑,以便可以由不同的客户端使用。客户端是一个CLI,用户可以与它进行交互以执行不同的操作,例如安装/升级/删除等。客户端与Kubernetes API服务器和Chart存储库进行交互。它将Helm模板文件渲染为Kubernetes清单文件,用于通过Kubernetes API在Kubernetes集群上执行操作。有关更多详细信息,请参见Helm架构。

Chart被组织为目录内文件的集合,其中目录名是Chart的名称。它包含模板YAML文件,这些模板有助于在运行时提供配置值,并且无需修改YAML文件。这些模板基于Go模板语言,Sprig lib中的功能和其他专用功能提供了编程逻辑。

Chart存储库是可以存储和共享打包的Chart的位置。这类似于Docker中的镜像存储库。有关更多详细信息,请参考《Chart存储库指南》。

Helm概念

Helm术语:

  • Chart - 包含在Kubernetes集群中运行的应用程序,工具或服务所需的所有资源定义。Chart基本上是预先配置的Kubernetes资源的软件包。
  • Config - 包含可合并到Chart中以创建可发布对象的配置信息。
  • helm - helm客户端。它将Chart呈现为清单文件。它直接与Kubernetes API服务器交互以安装,升级,查询和删除Kubernetes资源。
  • Release - 在Kubernetes集群中运行的Chart实例。
  • Repository - 存储Chart的仓库,可以与他人共享。
Lab0 安装Helm

可以从源代码或预构建的二进制发行版中安装Helm客户端(helm)。在本实验中,我们将使用Helm社区的预构建二进制发行版(Linux amd64)。有关更多详细信息,请参阅Helm安装文档。

前提依赖
  • Kubernetes集群
安装Helm客户端
  1. 下载适用于环境的最新版本的Helm v3,以下步骤适用于Linux amd64,请根据环境调整示例。
  2. 解压:$ tar -zxvf helm-v3.<x>.<y>-linux-amd64.tgz。
  3. 在解压后的目录中找到helm二进制文件,并将其移至所需位置:mv linux-amd64/helm /usr/local/bin/helm。最好是将复制到的位置设置到path环境变量,因为它避免了必须对helm命令进行路径设置。
  4. 现在已安装了Helm客户端,可以使用helm help命令对其进行测试。
结论

现在可以开始使用Helm了。

猜您喜欢: