我正在尝试为
SecurityContextConstraint
/ SCC 创建 Helm 图表条件模板,无论我是否安装在 Openshift 集群上。因为 SCC 是 Openshift 特定的资源。
因此,在 Openshift 集群上执行
helm install <release-name> <chart> -n <namespace>
) 时,应该会自动创建 SCC。
后备选项是使用这样的东西:
{{ if .Values.isOpenshift }}
apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
...
{{ end }}
Helm 的 内置对象 包含一个
.Capabilities
对象,可用于检查集群,更具体地说,检查是否支持特定的 API 版本或资源类型。使用您要检查的 .Capabilities.APIVersions.Has
或 apiVersion
字段致电 apiVersion/kind
。
{{- if .Capabilities.APIVersions.Has "security.openshift.io/v1/SecurityContextConstraints" }}
apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
...
{{- end }}