术语

浏览 0      扫码          2019-10-27 17:16:53     码农文档      译文原文 英文原文

公告:如果您也想加入翻译队伍,或者您有相关中文文档想要贡献给大家,请联系coderdocument@163.com ,谢谢!

Helm使用了一些特殊术语来描述架构组件。

CHART

一个包含足够信息的Helm包,用于将一组Kubernetes资源安装到Kubernetes集群中。

chart包含一个chart.yaml文件以及模板、默认值(values.yaml)及其依赖。

chart是在定义良好的目录结构中开发的,然后打包成 称为chart archive的归档格式。

CHART ARCHIVE

chart archive(归档)是一个经过tar归档和gzip压缩(可选签名)的chart

CHART依赖(子CHART)

chart可能依赖于其他chart。有两种可能的依赖:

  • 软依赖:如果没有在集群中安装另一个chart,该chart可能无法正常工作。Helm没有为此场景提供相关工具。在这种情况下,依赖可以单独管理。
  • 硬依赖:一个chart可能包含(在它的charts/目录中)它所依赖的另一个chart。在这种情况下,安装chart将安装它的所有依赖。在此场景中,chart及其依赖作为一个集合进行管理。

当一个chart被打包时(通过helm package),它所有的硬依赖都会被打包在一起。

CHART版本

chart根据SemVer 2规范进行版本控制。每个chart都需要一个版本号。

CHART.YAML

关于chart的信息存储在一个名为Chart.yaml的特殊文件中。每个chart都必须有这个文件。

HELM (和HELM)

Helm是Kubernetes的包管理器。操作系统包管理器,使得在操作系统上安装工具变得容易,而Helm使得在Kubernetes集群中安装应用程序和资源变得容易。

虽然Helm是项目的名称,但是命令行客户端也被命名为helm。按照惯例,当谈到这个项目时,Helm是大写的。说到客户端,helm是小写的。

HELM HOME(HELM_HOME)

Helm客户端将信息存储在称为helm home的本地目录中。默认情况下,这是在$HOME/.helm 目录。

这个目录包含配置和缓存数据,由helm init创建。

KUBE CONFIG (KUBECONFIG)

Helm客户机使用kube config文件格式的文件获取Kubernetes集群信息。默认情况下,Helm会尝试在kubectl创建该文件的地方($HOME/.kube/config)查找该文件。

LINT (LINTING)

lint chart是为了验证它是否符合Helm chart标准的约定和要求。Helm提供了相关工具,尤其是helm lint命令。

PROVENANCE(PROVENANCE FILE)

Helm chart可能伴随着一个provenance file(来源文件),该文件提供了关于Helm chart的来源和包含内容的信息。

来源文件是Helm安全一部分。来源包含chart archive文件、Chart.yaml数据、一个签名块(一个OpenPGP“clearsign”块)的加密散列。当与密钥链相结合时,这为chart用户提供了以下能力:

  • 验证chart是由受信任的一方签署的
  • 确认chart文件没有被篡改
  • 验证chart元数据的内容(Chart.yaml
  • 快速将chart与其来源数据匹配

来源文件扩展名为.prov,可以由chart仓库服务器或任何其他HTTP服务器提供。

RELEASE

安装chart后,Tiller(Helm服务器)会创建一个release(发布)来跟踪该安装。

单个chart可以多次安装到相同的集群中,并创建许多不同的版本。例如,你可以使用一个chart以不同的发布名称运行三次helm install来安装三个PostgreSQL数据库。

注意:2.0.0-Alpha之前,发布被称为部署,但这引起了与Kubernetes 部署的混淆。

RELEASE NUMBER(RELEASE VERSION)

发布可以被更新多次。序列计数器用于在发布更改时跟踪它们。在执行第一次 helm install后,发布的release number(发布号或发布版本)为1。每次升级或回滚时,release number都会递增。

ROLLBACK(回滚)

发布可以升级到新的chart或配置。不过,由于存储了发布的历史记录,所以发布也可以rollback(回滚)到以前的发布状态。这是通过helm rollback命令完成的。

重要的是,回滚的发布将收到一个新的发布号。

操作 发布号
install release 1
upgrade release 2
upgrade release 3
rollback 1 release 4 (但是运行与release 1相同的配置)

上表说明了发布号在安装、升级和回滚过程中是如何递增的。

TILLER

Tiller是Helm的集群内部部件。它直接与Kubernetes API服务器交互来安装、升级、查询和删除Kubernetes资源。它还存储表示发布的对象。

REPOSITORY(REPO, CHART REPOSITORY)

Helm chart可以存储在专门的HTTP服务器上,称为chart repository(repositoryrepo)(仓库)。

chart仓库服务器是一个简单的HTTP服务器,可以提供一个 index.yaml描述一批chart,并提供有关每个chart可从何处下载的信息。(有很多chart仓库都会提供chart和 index.yaml文件。)

Helm客户端可以指向零个或多个chart仓库。默认情况下,Helm客户端指向stable 官方Kubernetes chart仓库。

VALUES(VALUES FILES, VALUES.YAML)

values提供了使用自己的信息覆盖模板默认值的方法。

Helm chart是“参数化的”,这意味着chart开发人员可能会暴露可在安装时覆盖的配置。例如,chart可能会暴露允许设置服务用户名的username 字段。

这些暴露的变量在Helm术语中称为values(值)

这些值可以在 helm installhelm upgrade操作期间设置,可以直接传入,也可以上传一个 values.yaml文件。

返回顶部