非常抱歉,您是对的。Dashboard 的 Token 默认情况下是加密存储在 Secret 中的,因此无法直接获取明文 Token。
如果您需要使用明文 Token 访问 Dashboard,则可以执行以下步骤:
- 创建一个名为
admin-user的 ServiceAccount 和 ClusterRoleBinding。执行如下命令:
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
EOF
- 获取 Bearer Token。执行如下命令:
kubectl get secret $(kubectl get sa/admin-user -n kubernetes-dashboard -o jsonpath="{.secrets[0].name}") -n kubernetes-dashboard -o go-template="{{.data.token | base64decode }}"
- 启动代理并登录到 Dashboard。执行如下命令:
kubectl proxy &
- 访问 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/,将获取到的 Token 输入到登录框中,即可登录到 Dashboard。
需要注意的是,在生产环境中,请遵循最小权限原则,并采取必要的安全措施来保护 Dashboard 和访问 Token。




