gpt4 book ai didi

kubernetes - 仅当自定义资源定义存在时才使用 helm 创建 Kubernetes 资源

转载 作者:行者123 更新时间:2023-12-02 11:50:42 33 4
gpt4 key购买 nike

我有一个 helm chart,它部署了许多 Kubernetes 资源。其中之一是自定义资源定义 (CRD) 类型的资源 (ServiceMonitorprometheus-operator 使用)。

我正在寻找一种方法,如何“告诉” helm,只有在集群中定义了这样的 CRD 时,我才想创建此资源,或者忽略仅由缺少此类 CRD 的事实引起的错误。

这可能吗?我怎样才能做到这一点?

最佳答案

Helm 的 Capabilities object 可以告诉您是否在集群中安装了整个 API 类。我认为它不能测试特定的自定义资源类型。

在您的 .tpl文件,您可以将整个文件包装在 {{ if }}...{{ end }}堵塞。 Helm 并不特别关心文件的渲染版本是否为空。

这将引导您进入如下文件:

{{ if .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" -}}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
...
{{ end -}}

如果运算符(operator)安装在集群中,则会安装它,如果没有,则跳过。

关于kubernetes - 仅当自定义资源定义存在时才使用 helm 创建 Kubernetes 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59370451/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com