配置Kubernetes中的一个ServiceAccount具有管理员权限并获取它的Token,需要遵循以下步骤:

蓝易云服务器 - 配置k8s的一个serviceaccount具有管理员权限并获取他的token教程_管理员权限

  1. 创建ServiceAccount和ClusterRoleBinding:
    首先,我们需要创建一个ServiceAccount和一个ClusterRoleBinding,将ClusterRole(集群角色)绑定到ServiceAccount上。这将赋予ServiceAccount管理员权限。
# admin-serviceaccount.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-serviceaccount
  namespace: default

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-serviceaccount-binding
subjects:
- kind: ServiceAccount
  name: admin-serviceaccount
  namespace: default
roleRef:
  kind: ClusterRole
  name: cluster-admin
  apiGroup: rbac.authorization.k8s.io
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

保存以上内容为 admin-serviceaccount.yaml文件,然后使用以下命令创建ServiceAccount和ClusterRoleBinding:

kubectl apply -f admin-serviceaccount.yaml
  • 1.
  1. 获取ServiceAccount的Token:
    ServiceAccount的Token是用于身份验证的凭证。我们可以使用以下命令获取刚刚创建的ServiceAccount的Token:
kubectl describe secret $(kubectl get secret | grep admin-serviceaccount | awk '{print $1}')
  • 1.

上述命令将打印出与ServiceAccount相关的Secret信息,其中包含了Token。找到包含 token:字段的那一行,后面的长字符串就是ServiceAccount的Token。

注意:ServiceAccount的Token具有管理员权限,因此请妥善保管和使用。

现在,你已经成功配置了一个拥有管理员权限的ServiceAccount,并获取了它的Token。这个ServiceAccount可以用于进行Kubernetes集群的管理员操作。