LIv*_*nov 4 kubernetes kubernetes-helm
我有一个部署了许多 Kubernetes 资源的掌舵图。其中之一是属于自定义资源定义 (CRD) 类型(ServiceMonitor
由 使用prometheus-operator
)的资源。
我正在寻找一种方法,如何“告诉” helm 仅当集群中定义了这样的 CRD 时我才想要创建此资源,或者忽略仅由缺少此类 CRD 导致的错误。
这可能吗,我怎样才能做到这一点?
Helm 的Capabilities对象可以告诉您是否在集群中安装了整个 API 类。我认为它不能测试特定的自定义资源类型。
在您的.tpl
文件中,您可以将整个文件包装在一个{{ if }}...{{ end }}
块中。Helm 并不特别关心文件的渲染版本是否为空。
这将引导您进入如下文件:
{{ if .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" -}}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
...
{{ end -}}
Run Code Online (Sandbox Code Playgroud)
如果操作员安装在集群中,则会安装,如果没有,则跳过。
归档时间: |
|
查看次数: |
1791 次 |
最近记录: |