如何列出 helm 存储库下的所有可用图表?

问题描述 投票:0回答:15

我有一个头盔仓库:

helm repo list

名称网址

稳定https://kubernetes-charts.storage.googleapis.com

本地http://127.0.0.1:8879/charts

我想列出所有可用的图表或搜索

stable
helm repo 下的图表。

我该怎么做?

到目前为止,还没有命令可以列出 helm 存储库下的可用图表,或者只是验证图表是否存在。

kubernetes kubernetes-helm
15个回答
59
投票

首先,始终更新本地缓存:

helm repo update

然后,您可以通过以下方式列出所有图表:

helm search repo

或者,您可以使用以下命令对图表名称的任何部分进行不区分大小写的匹配:

helm search repo [your_search_string]

最后,如果您想列出所有版本,可以使用 -l/--version 参数:

# Lists all versions of all charts
helm search repo -l 

# Lists all versions of all chart names that contain search string
helm search repo -l [your_search_string]

15
投票

您可以使用 helm 搜索来搜索 Helm 图表。有一个有趣的选项,您可以传递给

helm search
,它可以让您使用正则表达式来搜索图表。这样,您可以传递与任何图表名称匹配的正则表达式。例如

helm search repo -r ".*"

这将显示所有存储库上的所有图表。

您还可以在上述命令中使用

--devel
标志来显示开发版本图表


5
投票

从 Helm v3x 开始,最简单的方法似乎是:

helm search repo $repoName -l

应生成指定存储库中的软件包列表 (

$repoName
);然后,进一步指定包名称:

helm search repo $repoName/$packageName

这应该将结果范围缩小到可管理的范围。


3
投票

我相信您正在寻找:

头盔搜索

就你而言

helm 搜索稳定

helm 搜索本地

编辑:文档链接:https://helm.sh/docs/using_helm/#helm-search-finding-charts


3
投票

您可以执行“helm search repo”。 我正在使用 helm version.BuildInfo{Version:"v3.0.1"} 希望有帮助


3
投票

您可以使用 grep 以及如下所示。

获取所有添加的存储库的列表。

helm repo list

更新您的存储库

helm repo update

在您拥有的所有存储库中搜索“nginx”

helm search repo nginx

列出bitnami中的所有包

helm search repo bitnami

最后你可以使用 grep 在给定的存储库中过滤掉

helm search repo bitnami | grep nginx

2
投票

看完这个问题的所有答案后,答案似乎是:

你不能。


1
投票

要列出特定应用程序的所有可用图表,您可以尝试以下命令:

  • 存储库 - 稳定
  • 应用程序 - 示例应用程序

    helm 搜索 stable/sample-app -l


1
投票

头盔 2:

helm search -r '\vstable/.*\v'
(1)

头盔 3:

helm search repo -r '\vstable/.*\v'
(2)

来自文档:

要查找具有特定名称的图表(例如 stable/mysql),请尝试使用垂直制表符 ( ) 进行搜索。垂直制表符用作搜索字段之间的分隔符。


0
投票

添加存储库并搜索它:

$helm add <repo> <repo url>

$helm search --regexp <repo>/*

将 repo 替换为您要搜索的存储库,例如 jetstack

$ helm search --regexp jetstack/*

0
投票

只需

helm search repo
即可列出所有图表,然后
helm search repo search_text
即可根据输入的搜索文本列出图表。

例如:

helm search repo my_chart


0
投票

这对我有帮助:

  • helm repo update
    :用于更新存储库。
  • helm search repo <repo_name>
    :用于查看
    <repo_name>
    存储库中的所有舵图。

0
投票

手动和hacky方式:


0
投票

还有一点要补充: 如果你想列出开发版本(如 1.0.1-1234),你还需要一个参数:--devel

例如:

helm search repo ingress-nginx --devel -l

否则开发版本将不会列出。


0
投票

你实际上根本不需要 helm 来完成这个任务。

假设您正在尝试查找

https://charts.helm.sh/stable/
中的软件包列表。

只需将

index.yaml
添加到 URL,即可获得
https://charts.helm.sh/stable/index.yaml
。这包含存储库中所有内容的列表。

此外,您可以使用

yq
以更有用的格式获取此数据:

$ curl https://charts.helm.sh/stable/index.yaml | yq --compact-output '.entries | to_entries | .[].value[] | {name, version}'
{"name":"acs-engine-autoscaler","version":"2.2.2"}
{"name":"acs-engine-autoscaler","version":"2.2.1"}
{"name":"acs-engine-autoscaler","version":"2.2.0"}
...
© www.soinside.com 2019 - 2024. All rights reserved.