kubernetes 12015 创建一个普通用户:ai-user权限可以访问空间名:ai 具有该空间名称下的所有权限使用yaml创建代码制作成kubeconfig 远程可以连接 kubernetes 访问 ai 空间名的 deployment pod service stateful 等所有权限。
以下是创建 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
将
kubectl --kubeconfig=<path-to-kubeconfig> get pods -n ai
原文地址: http://www.cveoy.top/t/topic/bVW6 著作权归作者所有。请勿转载和采集!