【发布时间】:2018-12-04 11:46:47
【问题描述】:
我可以通过以下方式指定图表的特定版本:helm install --version <some_version> stable/<some_chart>
但是,我怎么知道哪些版本可用?
【问题讨论】:
标签: kubernetes kubernetes-helm
我可以通过以下方式指定图表的特定版本:helm install --version <some_version> stable/<some_chart>
但是,我怎么知道哪些版本可用?
【问题讨论】:
标签: kubernetes kubernetes-helm
您可以使用search repo 功能和--versions 标志列出图表的所有可用版本:
helm search repo <reponame>/<chartname> --versions
这要求 repo 是之前添加的并且是最新的。如果您的 repo 是不久前添加的,请确保使用 helm repo update 保持本地缓存更新,以便同时查看最近发布的版本。
在 Helm v2 和 Helm v3 之间管理存储库中图表的行为略有不同。详情请参考相应章节。
Helm v3 更改为对图表进行更加分散的管理,因此与直接从预配置的 stable 存储库中获取许多图表相比,您可能预先添加了某个存储库。列出某个图表的版本可以通过运行命令helm search repo 并结合--versions 标志(或简写-l)指定图表的完整路径(指定repo 和图表名称)来完成,如下所示:
helm search repo <reponame>/<chartname> --versions
如果您对 1.1.0-rc.1 或 3.0.0-alpha.2 等预发布版本感兴趣,则必须添加 --devel 标志以包含这些。
helm search repo <reponame>/<chartname> --versions --devel
除了--versions 之外,您还可以通过使用带有--version 标志的SEMVER 表示法指定版本约束来限制结果的数量。这允许例如将结果限制为例如仅 v1 图表:
helm search repo <reponame>/<chartname> --versions --version ^v1.0
根据您的 shell,由于^ 等特殊字符,可能需要将版本字符串放在单引号 (') 中。
示例
一个使用 cert-manager 的 jetstack 图表的具体示例:
$ helm repo add jetstack https://charts.jetstack.io
"jetstack" has been added to your repositories
定期搜索包含jetstack的结果
$ helm search repo jetstack
NAME CHART VERSION APP VERSION DESCRIPTION
jetstack/cert-manager v1.0.4 v1.0.4 A Helm chart for cert-manager
jetstack/tor-proxy 0.1.1 A Helm chart for Kubernetes
定期搜索特定图表
$ helm search repo jetstack/cert-manager
NAME CHART VERSION APP VERSION DESCRIPTION
jetstack/cert-manager v1.0.4 v1.0.4 A Helm chart for cert-manager
列出一个特定图表的所有版本
$ helm search repo jetstack/cert-manager --versions
NAME CHART VERSION APP VERSION DESCRIPTION
jetstack/cert-manager v1.0.4 v1.0.4 A Helm chart for cert-manager
jetstack/cert-manager v1.0.3 v1.0.3 A Helm chart for cert-manager
jetstack/cert-manager v1.0.2 v1.0.2 A Helm chart for cert-manager
jetstack/cert-manager v1.0.1 v1.0.1 A Helm chart for cert-manager
...
列出的不稳定/预发布版本也将包括 alpha 版本。
$ helm search repo jetstack/cert-manager --versions --devel
NAME CHART VERSION APP VERSION DESCRIPTION
jetstack/cert-manager v1.1.0-alpha.1 v1.1.0-alpha.1 A Helm chart for cert-manager
jetstack/cert-manager v1.1.0-alpha.0 v1.1.0-alpha.0 A Helm chart for cert-manager
jetstack/cert-manager v1.0.4 v1.0.4 A Helm chart for cert-manager
jetstack/cert-manager v1.0.3 v1.0.3 A Helm chart for cert-manager
...
由于列出版本已集成到搜索中,使用--versions 不限于单个图表。指定此标志将列出与查询字符串匹配的所有图表的所有可用版本。
如需更多信息,请查看 https://helm.sh/docs/helm/helm_search_repo/ 的 helm 文档
对于 Helm v2,可以通过 Helm CLI 预配置的 stable 存储库访问许多工件。列出所有版本以类似的方式完成,但使用不同的命令。要使用 Helm v2 列出图表的可用版本,请使用以下命令:
helm search -l stable/<some_chart>
-l 或 --versions 标志用于显示所有图表,而不仅仅是每个图表的最新版本。
使用 Helm v2,您可以使用 helm update 命令更新您的存储库。
【讨论】:
helm repo update 可能需要先更新本地存储库
如果您正在寻找 helm v3 解决方案,就是这样。
helm search repo -l stable/<some-chart>
【讨论】:
helm repo list 如果不添加一个 helm repo add jetstack https://charts.jetstack.io 那么它应该可以工作 helm search repo -l jetstack
http_proxy、https_proxy 环境变量以逃离公司防火墙。另请注意:选项-l 和--versions 是一回事。
如果您还想在 helm 3 中搜索 alpha、beta、候选发布版本,您可以添加选项 --devel
helm search repo <chart keyword> -l --devel
它还会列出 1.0.0-rc1 等版本的图表
【讨论】:
您可以使用helm show chart <chart>查看当前图表的版本,例如:
$ helm show chart bitnami/postgresql
annotations:
category: Database
apiVersion: v2
appVersion: 11.10.0
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
version: 1.x.x
description: Chart for PostgreSQL, an object-relational database management system
(ORDBMS) with an emphasis on extensibility and on standards-compliance.
home: https://github.com/bitnami/charts/tree/master/bitnami/postgresql
icon: https://bitnami.com/assets/stacks/postgresql/img/postgresql-stack-110x117.png
keywords:
- postgresql
- postgres
- database
- sql
- replication
- cluster
maintainers:
- email: containers@bitnami.com
name: Bitnami
- email: cedric@desaintmartin.fr
name: desaintmartin
name: postgresql
sources:
- https://github.com/bitnami/bitnami-docker-postgresql
- https://www.postgresql.org/
version: 10.1.0
【讨论】: