我扮演以下角色:
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
状态返回。
我也可以在具有get
角色的部署中执行create
,list
,watch
,admin
。
关于/status
为什么会被禁止的任何想法,当我明确拥有我的名称空间的所有必要管理员权限时。
答案 0 :(得分:1)
状态子资源除了简单地获取部署之外,没有提供更多信息
管理员角色权限不允许您写入部署状态。它们使您可以创建和删除部署对象,并控制对象的“ spec”部分。状态修改权限被授予部署控制器。
答案 1 :(得分:0)
您提到了角色的动词,而没有提及资源和apiGroup。确保设置了以下内容:
- apiGroups:
- apps
- extensions
resources:
- deployments/status