如果您使用 Kubernetes,你可能很清楚。 这就是 Helm 的用武之地; 该解决方案可让您更轻松地管理 Kubernetes 应用程序。
您可以使用 Helm 的“图表”功能定义和安装您的应用程序及其每个组件。
在本文中,我将引导您使用 Helm 图表。 您将能够自己使用它们。 即使您是 Kubernetes 的新手,我相信您也会从本教程中受益,从而提高 Kubernetes 部署的效率和可管理性。
头盔概述
头盔 是一个 Kubernetes 包管理器,可以简化应用程序的管理和部署。 “图表”的使用使用户能够创建、安装和升级复杂的 Kubernetes 应用程序。 可以轻松共享 Kubernetes 资源和配置的集合。
这些资源可以在多个应用程序中重复使用,它们由充当模板的图表定义。 Helm 是 Kubernetes 部署的重要工具。 它还具有其他几个功能,包括回滚、版本控制和依赖项管理。
舵图
Helm 图表是预配置的 Kubernetes 资源包。 可以使用 Helm 简单地安装和更改它们。 图表由多个组件组成,包括模板、值文件和指定构成图表的各种资源的元数据文件。
Helm 图表可以保存在图表存储库中,图表存储库是可以在多个环境中共享和分发的图表集合。 Helm 还支持版本控制,允许用户跟踪其图表的多个版本。
因此,他们可以在必要时简单地回滚到以前的版本。
Helm 图表及其组件
Helm 图表由一组文件组成,这些文件指定构成应用程序的 Kubernetes 资源。 这些文件提供了模板,这些模板指定构成图表的许多 Kubernetes 资源,例如部署、服务和 pod。
用户可以编辑这些模板并使用值文件为不同情况指定特定参数。 元数据文件,例如 图表。 yaml,包括有关图表的信息,例如其名称、版本和依赖项。
图表存储库和版本控制
图表存储库可以托管在各种站点上,包括 GitHub上, GitLab及 Amazon S3,并且可以使用 helm repo add 命令添加到 Helm。
Helm 还支持版本控制,允许用户跟踪其图表的多个版本,并在必要时简单地回滚到以前的版本。
这简化了在开发、暂存和生产等各种设置中管理和部署应用程序的多个版本。
使用 Helm 图表的好处
Helm 图表在控制 Kubernetes 应用程序方面具有多项优势。 对于初学者来说,图表让用户可以在多个应用程序之间快速交换和重用设置,从而在管理复杂的安装时节省时间和精力。
图表也可以进行版本控制并保存在图表存储库中,从而允许简单地分发和维护应用程序的多个版本。
值文件可用于调整图表,使将同一应用程序部署到具有不同配置的众多设置变得简单。 总的来说,Helm 图表简化并扩展了复杂 Kubernetes 设置的管理。
创建一个 Helm Chart
只需几个简单的步骤即可制作 Helm 图表。 首先,您必须在本地计算机上安装 Helm CLI。 之后,您可以开始制作您的图表。
创建 Helm 图表的分步指南
运行命令 helm create 以生成新图表。 这将创建一个具有所选图表名称的新目录,其中将包含您的图表所需的文件。
您可以将有关图表的元数据放在 Chart.yaml 文件中,例如它们的名称、版本和描述。
图表的默认设置在 values.yaml 文件中定义。 安装图表后,可以修改这些设置,以实现个性化。
templates/ 目录包含指定 Kubernetes 资源的 YAML 文件,这些资源将在您安装图表时生成。 这些文件可以定制以满足您应用程序的独特要求。
完成创建图表后,使用 helm package 命令将其打包。 这将生成一个 a.tgz 文件,可以将其保存到图表存储库并使用 helm install 命令进行安装。
Helm Chart 的不同组件,例如模板和值文件
在构建 Helm 图表时,您需要熟悉一些不同的组件。
您可以在 Chart.yaml 文件中输入有关图表的元数据,例如它们的名称、版本和描述。 对于所有图表,此文件都是必需的。
图表的默认设置在 values.yaml 文件中定义。 安装图表后,可以修改这些设置,以实现个性化。 所有图表也需要此文件。
templates/ 目录包含指定 Kubernetes 资源的 YAML 文件,这些资源将在您安装图表时生成。 这些文件可以定制以满足您应用程序的独特要求。
帮助用户创建 Helm 图表的实际示例
可以在线访问许多 Helm 图表示例,可以将其用作开发图表的起点。 Helm 文档和官方 Helm chart 存储库都提供了几个示例。
为基本的 Node.js 应用程序制作 Helm 图表是一个实际示例。 该图需要合并 Kubernetes 资源,例如 Deployment、Service 和 ConfigMap。 要定义应用程序映像、端口和任何环境变量,请使用 values.yaml 文件。
用户可以按照上述方法并参考实际示例,为自己的 Kubernetes 应用程序简单地开发自己的 Helm 图表。
使用 Helm 安装和升级
在开发 Kubernetes 应用程序后,您可以使用 Helm 图表来安装和管理它们。 要安装图表,请使用 helm install
命令,后跟图表的名称和任何其他设置。
要升级现有图表,请使用 helm upgrade
命令用新版本替换旧版本。 头盔还有一个 helm rollback
可用于撤消升级的命令。
Helm 的高级功能
Helm 还有一些额外的功能可以帮助您管理 Kubernetes 应用程序。 这些优势之一是能够使用环境变量来修改您的 Helm 图表。
环境变量可用于存储您不想包含在代码中的敏感数据,例如密码或 API 凭据。
Helm 的另一个复杂方面是它与 CI/CD 工作流的兼容性。 这可能会帮助您自动化应用程序部署并确保所有环境的一致性。
要将 Helm 与 CI/CD 管道一起使用,请编写一个脚本来安装或升级您的图表,使用 helm
命令。
使用环境变量自定义 Helm 图表
您可以在图表中包含的 values.yaml 文件中定义变量,以将环境变量添加到 Helm 图表中。 然后可以使用 {{ .Values.variableName }} 语法引用图表模板中的变量。
将 Helm 与 CI/CD 管道结合使用
您必须首先编写一个脚本,利用 helm
如果您想将 Helm 与 CI/CD 工作流一起使用,请使用命令来安装或升级您的图表。
当您希望部署新版本的应用程序时,您可以将此脚本包含在您的管道中并调用它。
结论
Helm charts 提供了一种打包和分发 Kubernetes 资源的实用方法,Helm 是管理 Kubernetes 应用程序的强大工具。
按照本文中提供的说明进行操作后,您现在应该对如何开发、安装和管理 Helm 图表有了扎实的了解。
Helm 可以使您的 Kubernetes 部署更简单,并且您的应用程序更易于管理,无论您是开发人员还是 系统管理员.
发表评论