在我的 k3s 集群中,我正在编辑
Role
以添加对资源的权限,例如deployment
。
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
creationTimestamp: "2023-09-02T08:00:23Z"
name: foo
namespace: default
resourceVersion: "432595"
uid: 603d0e0b-62f8-4e46-a42c-66436203bdc9
rules:
- apiGroups:
- apps. # I know API Group is 'apps' but I wonder how to figure it out in general
resources:
- deployments
verbs:
- get
- list
- watch
在上面的
apiGroups
字段中,根据我的谷歌搜索,我知道 deployment
资源的 API 组是 app
。
但我想知道一般如何使用
kubectl
命令找出某个资源属于哪个 API 组?
例如,我知道还有
kubectl api-resources
命令,但如果我为 deployment
资源运行它作为示例:
k api-resources | grep 'deployment'
NAME SHORTNAMES APIVERSION NAMESPACED KIND
deployments deploy apps/v1 true Deployment
输出告诉我
APIVERSION
是 apps/v1
。但是当我看到 apps/v1
的值时,API Group到底是什么?我应该考虑
APIVERSION
的值是该资源的 API 组还是它始终是 /
的左侧是 API 组?
有人可以帮我澄清一下吗?谢谢你。