Kubernetes 集群角色管理员无法获取部署状态

Kubernetes cluster role admin not able to get deployment status

我有以下角色:

roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: admin

当我做 kubectl proxy --port 8080 然后尝试做

http://127.0.0.1:8080/apis/extensions/v1beta1/namespaces/cdp/deployments/{deploymentname}

我收到 200 并且一切正常。但是当我这样做时:

http://127.0.0.1:8080/apis/extensions/v1beta1/namespaces/cdp/deployments/{deploymentname}/status

我被禁止并恢复 403 状态。

我还可以使用 admin 角色进行 getcreatelistwatch 部署。

当我清楚地拥有我的命名空间的所有必要权限时,为什么 /status 会给出禁止的任何想法。

status 子资源除了简单地获取部署之外不会给您提供更多信息

管理员角色权限不允许您写入部署状态。它们允许您创建和删除部署对象,控制对象的 "spec" 部分。状态修改权限被授予部署控制器。

你提到了角色的动词,没有提到资源和apiGroup。确保设置了以下内容:

  - apiGroups:
    - apps
    - extensions
    resources:
    - deployments/status