You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes 1.21升1.22:RoleBinding注解存v1beta1版本原因咨询

Kubernetes RBAC资源注解版本疑问解答

你的推测完全正确——这个kubectl.kubernetes.io/last-applied-configuration注解保留v1beta1版本的原因,就是该RoleBinding最初是以rbac.authorization.k8s.io/v1beta1版本部署,之后集群升级或Kubernetes自动转换资源版本导致资源的apiVersion字段变为v1,但注解内容未被更新。

具体说明:

  • Kubernetes会自动将存储的旧API版本资源转换为当前集群支持的稳定版本(这里是v1),所以你看到资源的apiVersion字段已经是rbac.authorization.k8s.io/v1。
  • kubectl.kubernetes.io/last-applied-configuration注解的作用是记录最后一次通过kubectl apply部署时使用的原始YAML内容,这个字段不会被Kubernetes自动修改,只有当你再次使用kubectl apply提交更新后的v1版本YAML时,注解才会被替换为新的版本内容。
  • 由于你之后没有重新用v1版本的YAML执行kubectl apply操作,所以注解里依然保留着最初部署时的v1beta1版本信息。

附该资源的YAML输出:

$ 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

内容的提问来源于stack exchange,提问作者Eva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 14:15:55