Helm 如果安装在 Openshift 上则创建条件资源

lpr*_*shv 3 security-context openshift kubernetes-helm helm3

我正在尝试基于 /SCC 创建 Helm 图表条件模板,SecurityContextConstraint无论我是否安装在 Openshift 集群上。因为 SCC 是 Openshift 特定的资源。

因此,在helm install <release-name> <chart> -n <namespace>Openshift 集群上执行 ) 时,应该会自动创建 SCC。

后备选项是使用这样的东西:

{{ if .Values.isOpenshift }}
apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
...
{{ end }}
Run Code Online (Sandbox Code Playgroud)

Dav*_*aze 6

Helm 的内置对象包括一个.Capabilities可用于检查集群的对象,更具体地说,检查是否支持特定的 API 版本或资源类型。.Capabilities.APIVersions.Has使用您要检查的apiVersionapiVersion/kind字段进行调用。

{{- if .Capabilities.APIVersions.Has "security.openshift.io/v1/SecurityContextConstraints" }}
apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
...
{{- end }}
Run Code Online (Sandbox Code Playgroud)