如何在 kubernetes 中创建组? 在 kubernetes 中创建的默认组是什么?
在我的 kubernetes 安装中,这是 ClusterRoleBinding 的主题部分:
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: default
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: system:serviceaccounts:default
- kind: ServiceAccount
name: default
namespace: kube-system
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: system:nodes
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: federation-system
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: system:serviceaccounts:federation-system
例如,如何查看“默认”组的组件。 kubectl 获取 xxx? 如何创建自己的群组?
任何指向特定于组的文档的指针,而不是关于 RBAC 或授权(我总是陷入那个 k8s 文档,它不解释组)将不胜感激。
谢谢。
最佳答案
您不在 Kubernetes 中创建组,但组是在身份提供者中定义的。
例如,我使用 Openstack 的 Keystone 作为身份提供者。我使用 Bearer Token 登录,Kubernetes 验证连接到 Keystone 的 token ,它用我的用户名和我在 Openstack 中的项目 UUID 来回答。项目 UUID 就是 Kubernetes 中的组。
我可以这样写:
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: read-pods
namespace: default
subjects:
- kind: Group
name: <openstack_project_uuid>
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: pod-reader
apiGroup: rbac.authorization.k8s.io
或者如果我想使用用户
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: read-pods
namespace: default
subjects:
- kind: User
name: <openstack_user_name>
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: Role
name: pod-reader
apiGroup: rbac.authorization.k8s.io
可能有人用 LDAP 示例发布了类似的答案。我一直只使用 Openstack Keystone。但我希望我回答了你的问题。
关于kubernetes 组定义。创建和细节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47456901/