【问题标题】:get name of all resources from helm release从 helm release 获取所有资源的名称
【发布时间】:2021-09-25 09:00:47
【问题描述】:

我想从 helm release 中获取资源的名称。但我不明白怎么做。

我什么都没找到

helm get all RELEASE_NAME --template '{{range .items}}{{.metadata.name}}{{end}}'

【问题讨论】:

    标签: kubernetes openshift kubernetes-helm helm3


    【解决方案1】:

    helm get all--template 选项有一组有限的选项;它在单个 .Release 对象中传递,创建的 Kubernetes 选项集以文本形式存储在 .Release.Manifest 字段中。

    helm get all RELEASE_NAME --template '{{ .Release.Manifest }}'
    # returns the manifest as a string
    

    有一个专用的helm get manifest 子命令将清单作为 YAML 返回。

    获得 YAML 后,您需要从中提取资源名称。一种方法是使用像 yq 这样可以通过 YAML 进行通用查询的工具:

    helm get manifest RELEASE_NAME | yq eval '.metadata.name' -
    

    【讨论】:

    • 谢谢,但我想了解如何使用 --template
    • 我认为不可能。
    • yq eval '.metadata.name' - 不起作用 :( yq: error: argument files: can't open '.metadata.name'
    • 您是否将- 作为最后一个参数?另外,什么yq --version?看起来v3 vs. v4 syntax 有很大不同。
    • 版本 yq 2.12.2
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 2020-01-24
    相关资源
    最近更新 更多