我有一个问题about.Capabilities.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 -}}kubectl api-版本显示:
cert-manager.io/v1
cert-manager.io/v1alpha2
cert-manager.io/v1alpha3
cert-manager.io/v1beta1但是,当使用helm命令生成资源时,我总是将cert-manager.io/v1作为api。我希望api将是er.io/v1beta 1,我想知道缺少了什么?谢谢
发布于 2022-03-11 13:20:03
这取决于您使用的是什么Helm命令。
helm template将使用kubectl编译的apiVersions (请查看这里的https://github.com/helm/helm/blob/main/go.mod#L43)。
helm install将使用来自k8s服务器的apiVersions,使用helm install --dry-run --debug查看呈现结果。
发布于 2022-06-21 18:05:18
您的集群需要一个首选版本。
$ kubectl get --raw /apis/cert-manager.io | python -m json.tool
{
"apiVersion": "v1",
"kind": "APIGroup",
"name": "cert-manager.io",
"preferredVersion": {
"groupVersion": "cert-manager.io/v1",
"version": "v1"
},
"versions": [
{
"groupVersion": "cert-manager.io/v1",
"version": "v1"
},
{
"groupVersion": "cert-manager.io/v1beta1",
"version": "v1beta1"
},
{
"groupVersion": "cert-manager.io/v1alpha3",
"version": "v1alpha3"
},
{
"groupVersion": "cert-manager.io/v1alpha2",
"version": "v1alpha2"
}
]
}https://stackoverflow.com/questions/70884866
复制相似问题