> 其他外部软件包 > helm

helm: Kubernetes 包管理器

Helm 是一个用于定义、安装和升级 Kubernetes 应用程序的包管理器。它使用一种称为“Chart”的打包格式,帮助用户轻松部署和管理复杂的应用程序。Helm 是在 Kubernetes 环境中简化应用程序部署和生命周期管理的必备工具。

概述

Helm 是在 Kubernetes 集群中部署和管理应用程序的必备工具。您可以从 Chart 仓库搜索、安装应用程序,并通过版本控制进行升级和回滚。这使得将复杂的 Kubernetes 资源打包成一个逻辑单元进行管理成为可能。

主要功能

Helm 提供的主要功能包括:

  • Kubernetes 应用程序打包 (Chart)
  • Chart 仓库管理和搜索
  • 应用程序部署、升级和回滚
  • Release 管理和历史记录跟踪
  • 通过模板实现灵活配置

安装

Helm 通常不包含在大多数 Linux 发行版的默认安装中,因此需要手动安装。以下是常见的安装方法。

使用脚本安装 (推荐)

curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

使用官方安装脚本安装 Helm 是最常见且推荐的方法。

使用 Homebrew 安装 (macOS/Linux)

brew install helm

如果您使用 Homebrew 包管理器,可以使用以下命令安装 Helm。

使用 apt 安装 (Debian/Ubuntu)

curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm

在基于 Debian 或 Ubuntu 的系统上,您可以使用 apt 包管理器安装 Helm。

主要子命令

Helm 命令通过各种子命令 (subcommands) 实现灵活的 Kubernetes 应用程序管理。以下是一些常用的主要子命令。

Release 管理

Chart 管理

信息查询

生成的命令:

请尝试组合命令。

描述:

`helm` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

以下是一些使用 Helm 主要功能管理 Kubernetes 应用程序的示例。

添加 Chart 仓库

helm repo add bitnami https://charts.bitnami.com/bitnami

添加 Bitnami Chart 仓库,以便使用各种应用程序的 Chart。

更新 Chart 仓库

helm repo update

更新所有已添加 Chart 仓库的最新信息。

搜索 Chart

helm search repo nginx

在仓库中搜索包含关键字 'nginx' 的 Chart。

安装 Chart

helm install my-nginx bitnami/nginx

以 'my-nginx' 的名称安装 Bitnami 的 Nginx Chart。

查看 Release 列表

helm list

查看当前 Kubernetes 集群中已部署的所有 Helm Release 列表。

升级 Release

helm upgrade my-nginx bitnami/nginx --set service.type=NodePort

升级现有的 'my-nginx' Release,并将 Nginx 服务类型更改为 NodePort。

卸载 Release

helm uninstall my-nginx

卸载名为 'my-nginx' 的 Release 及其相关的所有 Kubernetes 资源。

提示与注意事项

以下是有效使用 Helm 和避免潜在问题的提示和注意事项。

Helm Chart 开发与验证

开发自己的 Chart 或修改现有 Chart 时的一些有用提示。

  • 使用 `helm create <chart-name>` 命令创建基本的 Chart 结构,然后修改 `values.yaml` 和模板文件来定义您的应用程序。
  • 使用 `helm lint <chart-path>` 命令验证 Chart 的有效性,并提前发现潜在的错误或警告。这有助于在部署前解决问题。

安全的 Release 管理

减少部署和升级过程中潜在风险的方法。

  • 在运行 `helm install` 或 `helm upgrade` 时,同时使用 `--dry-run --debug` 选项,可以在实际部署前预览渲染后的 YAML manifest。这对于提前发现意外更改或错误非常有用。
  • 从 Helm 3 开始,卸载 Release 不需要 `--purge` 选项,默认会移除所有资源。如果您想保留 Release 历史记录,可以使用 `helm uninstall --keep-history <release-name>`。

指定命名空间

将 Release 部署到特定的 Kubernetes 命名空间的方法。

  • 说明: 在运行 `helm install` 或 `helm upgrade` 时,使用 `--namespace <namespace-name>` 选项可以将 Release 部署到指定的命名空间。如果该命名空间不存在,可以添加 `--create-namespace` 选项来自动创建它。

相同类别命令