Annotation has apiVersion v1beta1



我计划将Kubernetes集群从1.21升级到1.22。我在浏览发行说明时注意到ClusterRole,RoleBindingClusterRoleBinding应该使用rbac.authorization.k8s。Io/v1为rbac.authorization.k8s。Io/v1beta1已弃用

这是我的一个资源rolebinding/test-rw的输出。apiversion写的是rbac.authorization.k8s.io/v1,但在注释中,它写的是rbac.authorization.k8s.io/v1beta1。为什么注释有v1beta1版本?是因为它最初部署的v1beta版本,后来更新到v1版本?

$ kubectl get RoleBinding/test-rw -o yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"v1beta1","kind":"RoleBinding","metadata":{"annotations":{},"name":"test-rw","namespace":"default"},"roleRef":{"apiGroup":"","kind":"ClusterRole","name":"admin"},"subjects":[{"apiGroup":"","kind":"Group","name":"test-rw"}]}
creationTimestamp: "2017-08-18T11:40:22Z"
name: test-rw
namespace: default
resourceVersion: "214"
uid: f8a89do8-885f-11e9-8dd8-12afbb11be0c 

您可以使用kubectl api-versions查看可用的API版本。

kubectl explain pod检查版本

在Annotation中,它是最后一次应用的配置,但你看到的是API服务器首选的API版本。

Kubectl是客户端,它将显示API服务器首选版本或任何您要求使用的。
kubectl get RoleBinding.v1beta1 test-rw -o yaml

因此,当您试图使用kubectl时,创建Rolebilding的API版本不会受到影响.

相关内容

最新更新