貔貅云原生

貔貅云原生

Helm

103
0
0
2023-12-05
Helm

Helm 介绍

Helm 是一个开源的 Kubernetes 应用程序包管理工具,它允许你定义、安装和管理 Kubernetes 应用程序。Helm 通过使用 Charts 来组织、打包和共享 Kubernetes 资源,从而简化了部署、更新和管理复杂的应用程序。

以下是 Helm 的主要特点和组件:

  • Charts:Chart 是 Helm 中的基本打包单位,它包含了一组预定义的 Kubernetes 资源清单文件,以及用于定制化参数的值文件。Charts 可以包含 Deployment、Service、ConfigMap、PersistentVolumeClaim 等 Kubernetes 资源,以及 Hooks、模板等。

  • Repository:Helm Repository 是一种用于存储和共享 Charts 的方式。你可以将自己的 Charts 托管在私有或公共的 Helm Repository 中,或者使用官方的 Helm Hub。

  • Release:Release 是指基于特定 Chart 的一个部署实例。每个 Release 都有唯一的名称,并且可以包含定制的参数值。

  • Values:Values 是用于定制 Chart 参数的文件,它们可以包含要在 Chart 中引用的配置值。你可以在 Values 文件中定义参数,然后在安装或升级 Chart 时传递这些参数。

  • Templates:Helm 使用 Go 的模板引擎来生成 Kubernetes 资源清单文件。Templates 允许你在资源清单中使用条件、循环和变量等控制结构。

  • Commands:Helm 提供一系列命令,用于管理 Charts、Repositories 和 Releases,例如 helm install、helm upgrade、helm rollback 等。

Helm 的工作流程通常是这样的:

  • 创建 Chart:你可以使用 helm create 命令创建一个新的 Chart,然后将 Kubernetes 资源清单文件和 Values 文件添加到 Chart 中。

  • 定制 Values:在 Values 文件中定义要在 Chart 中使用的参数值,以适应不同的环境需求。

  • 安装 Chart:使用 helm install 命令安装一个 Chart,将 Values 文件中的参数传递给安装过程。这会在 Kubernetes 集群中创建一个新的 Release。

  • 升级和回滚:如果需要,可以使用 helm upgrade 来升级已部署的 Chart,或者使用 helm rollback 来回滚到之前的版本。

  • 删除 Release:使用 helm uninstall 命令删除一个已安装的 Release。

总之,Helm 简化了 Kubernetes 应用程序的部署和管理过程,通过使用 Charts 和模板,它能够轻松地管理复杂的应用程序配置和资源。

一个 helm 的官方第三方包网站

https://artifacthub.io/

自定义 helm

xxxxxxxxxx