以下是创建 ai-user 用户的 YAML 文件:

apiVersion: v1
kind: Namespace
metadata:
  name: ai
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: ai-user
  namespace: ai
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: ai
  name: ai-user-role
rules:
- apiGroups: ["", "extensions", "apps"]
  resources: ["deployments", "replicasets", "pods", "services", "configmaps"]
  verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
- apiGroups: [""]
  resources: ["secrets"]
  verbs: ["get"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: ai-user-rolebinding
  namespace: ai
subjects:
- kind: ServiceAccount
  name: ai-user
  namespace: ai
roleRef:
  kind: Role
  name: ai-user-role
  apiGroup: rbac.authorization.k8s.io

这个 YAML 文件会创建一个名为 ai 的命名空间,一个名为 ai-user 的服务帐户,并为该服务帐户分配一个名为 ai-user-role 的角色,该角色允许用户访问 ai 命名空间中的所有资源(Pod、Deployment、Service、ConfigMap 等)。最后,一个名为 ai-user-rolebinding 的角色绑定将角色分配给 ai-user 服务帐户。

您可以使用以下命令将 YAML 文件应用于您的 Kubernetes 群集:

kubectl apply -f ai-user.yaml

然后,您可以使用以下命令获取 ai-user 服务帐户的凭据:

kubectl get secret $(kubectl get sa ai-user -n ai -o jsonpath='{.secrets[].name}') -n ai -o jsonpath='{.data.token}' | base64 -d

这将输出 ai-user 服务帐户的访问令牌。您可以使用此令牌创建 kubeconfig 文件以允许远程访问 ai 命名空间中的资源。以下是 kubeconfig 文件的示例:

apiVersion: v1
kind: Config
clusters:
- name: my-cluster
  cluster:
    certificate-authority-data: <your-ca-data>
    server: <your-cluster-api-server>
contexts:
- name: ai-context
  context:
    cluster: my-cluster
    namespace: ai
    user: ai-user
users:
- name: ai-user
  user:
    token: <ai-user-token>
current-context: ai-context

替换为您的集群的根证书,将 替换为您的集群 API 服务器的地址,将 替换为上一步中获取的 ai-user 服务帐户的访问令牌。然后,将 kubeconfig 文件发送给远程用户,并允许他们使用 kubectl 访问 ai 命名空间中的资源:

kubectl --kubeconfig=<path-to-kubeconfig> get pods -n ai
kubernetes 12015 创建一个普通用户:ai-user权限可以访问空间名:ai 具有该空间名称下的所有权限使用yaml创建代码制作成kubeconfig 远程可以连接 kubernetes 访问 ai 空间名的 deployment pod service stateful 等所有权限。

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

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