以下是创建一个普通用户 ai-user 并授予其对 ai 和 dev 空间名称下的所有权限的 YAML 代码:

apiVersion: v1
kind: Namespace
metadata:
  name: ai
---
apiVersion: v1
kind: Namespace
metadata:
  name: dev
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: ai-user
  namespace: ai
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: ai-user
  namespace: dev
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: ai
  namespace: ai
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: admin
subjects:
- kind: ServiceAccount
  name: ai-user
  namespace: ai
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: dev
  namespace: dev
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: admin
subjects:
- kind: ServiceAccount
  name: ai-user
  namespace: dev

这个 YAML 文件的作用是:

  1. 创建两个命名空间:ai 和 dev。
  2. 在 ai 和 dev 两个命名空间下创建一个名为 ai-user 的服务账号。
  3. 在 ai 命名空间下创建一个名为 ai 的角色绑定,将 ai-user 服务账号与 ClusterRole admin 绑定起来,以授予其在 ai 命名空间下的所有权限。
  4. 在 dev 命名空间下创建一个名为 dev 的角色绑定,将 ai-user 服务账号与 ClusterRole admin 绑定起来,以授予其在 dev 命名空间下的所有权限。

最后,可以使用以下命令将 ai-user 的 kubeconfig 导出到本地:

kubectl config view --minify --flatten --context=<context-name> --user=ai-user > ai-user.kubeconfig

其中,<context-name> 是连接 Kubernetes 集群时使用的上下文名称。导出的 kubeconfig 文件可以传输给远程的用户,使其能够连接 Kubernetes 集群并访问 ai 和 dev 两个命名空间。

kubernetes 12015 创建一个普通用户:ai-user权限可以访问空间名:ai 和 dev 两个空间名称 具有该空间名称下的所有权限使用yaml创建代码制作成kubeconfig 远程可以连接 kubernetes 访问解释每一行代码

原文地址: https://www.cveoy.top/t/topic/bVXL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录