【发布时间】:2021-09-25 09:00:47
【问题描述】:
我想从 helm release 中获取资源的名称。但我不明白怎么做。
我什么都没找到
helm get all RELEASE_NAME --template '{{range .items}}{{.metadata.name}}{{end}}'
【问题讨论】:
标签: kubernetes openshift kubernetes-helm helm3
我想从 helm release 中获取资源的名称。但我不明白怎么做。
我什么都没找到
helm get all RELEASE_NAME --template '{{range .items}}{{.metadata.name}}{{end}}'
【问题讨论】:
标签: kubernetes openshift kubernetes-helm helm3
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' -
【讨论】:
- 作为最后一个参数?另外,什么yq --version?看起来v3 vs. v4 syntax 有很大不同。