Helm

来自牛奶河Wiki
阿奔讨论 | 贡献2024年7月3日 (三) 12:59的版本
跳到导航 跳到搜索

Helm 是 Kubernetes 的包管理器,可以帮助部署和管理应用程序。

  1. Chart 代表着 Helm 包。它包含在 Kubernetes 集群内部运行应用程序,工具或服务所需的所有资源定义。你可以把它看作是 Homebrew formula,Apt dpkg,或 Yum RPM 在Kubernetes 中的等价物。
  2. Repository(仓库) 是用来存放和共享 charts 的地方。它就像 Perl 的 CPAN 档案库网络 或是 Fedora 的 软件包仓库,只不过它是供 Kubernetes 包所使用的。
  3. Release 是运行在 Kubernetes 集群中的 chart 的实例。一个 chart 通常可以在同一个集群中安装多次。每一次安装都会创建一个新的 release。以 MySQL chart为例,如果你想在你的集群中运行两个数据库,你可以安装该chart两次。每一个数据库都会拥有它自己的 release 和 release name。

INST

https://github.com/helm/helm/releases

helm -> /usr/local/bin/

版本 V2 与 V3 语法不同。

CMD

  • helm search
    • hub chart_name # 从 Artifact Hub 中查找公开可用的 charts。Artifact Hub 中存放了大量不同的仓库
    • repo chart_name # 从到本地仓库(使用 helm repo add)中进行查找。该命令基于本地数据进行搜索,无需连接互联网
  • helm install # 安装 helm 包
    • release_name chart_name
  • helm status # 追踪 release 状态
    • release_name
  • helm show values # 查看 chart 中的可配置选项
    • 使用 YAML 格式的文件覆盖上述任意配置项
helm show values bitnami/wordpress
echo '{mariadb.auth.database: user0db, mariadb.auth.username: user0}' > values.yaml
helm install -f values.yaml bitnami/wordpress --generate-name
--values/-f values.yaml   # 使用 values.yaml 中的值替换原配置相应的值
--set a=b,c=d             # helm get values <release-name> 来查看指定 release 中 --set 设置的值
--generate-name           # 让 Helm 生成一个名称