ere*_*rez 6 kubernetes-helm cert-manager helm3
我有一个关于.Capability.APIVersions.Has 的问题 - 我不确定它是如何工作的我有以下功能:
{{- define "fybrik.certManagerApiVersion" -}}
{{- if .Capabilities.APIVersions.Has "cert-manager.io/v1beta1" -}}
cert-manager.io/v1beta1
{{- else if .Capabilities.APIVersions.Has "cert-manager.io/v1alpha2" -}}
cert-manager.io/v1alpha2
{{- else if .Capabilities.APIVersions.Has "certmanager.k8s.io/v1alpha1" -}}
certmanager.k8s.io/v1alpha1
{{- else -}}
cert-manager.io/v1
{{- end -}}
Run Code Online (Sandbox Code Playgroud)
kubectl api-versions 显示:
cert-manager.io/v1
cert-manager.io/v1alpha2
cert-manager.io/v1alpha3
cert-manager.io/v1beta1
Run Code Online (Sandbox Code Playgroud)
但当使用 helm install 命令生成资源时,我总是将 cert-manager.io/v1 作为 api。我希望 api 是 cert-manager.io/v1beta1,我想知道缺少什么?谢谢
这取决于您使用的 Helm 命令。
helm template将使用 kubectl 编译的 apiVersions(请查看此处https://github.com/helm/helm/blob/main/go.mod#L43)。
helm install将使用 k8s 服务器提供的 apiVersions,用于helm install --dry-run --debug查看渲染结果。