在操作 Kubernetes 集群的过程中,我们可以通过 kube-apiserver 提供的 REST API 接口来操作。也可以通过 kubectl 命令行工具来操作。还有一种更便捷、更简单的操作方式便是通过前端来操作。
Kubernetes 提供了官方的 dashboard 组件,用来提供界面化访问 Kubernetes 集群的方式。本小节,我们就来部署 Kubernetes dashboard 组件。
部署 Dashboard#
注意:Kubernetes Dashboard 项目已于 2026年1月归档,不再维护。官方推荐使用 Headlamp 替代。本文仍使用 v2.7.0 版本进行演示。
执行以下命令部署 Dashboard:
# 1. 部署 dashboard
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
# 2. 转发流量到 dashboard 控制面
kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard 9443:443 --address 0.0.0.0
等待所有 Pod 都 Running:
$ kubectl -n kubernetes-dashboard get pods
NAME READY STATUS RESTARTS AGE
dashboard-metrics-scraper-5cb4f4bb9c-xxxxx 1/1 Running 0 2m
kubernetes-dashboard-6bc7b4d6d5-xxxxx 1/1 Running 0 2m
所有 Pod 都 Running 后,打开浏览器访问:https://192.168.100.101:9443/, 界面如下:

出现登录界面,需要通过 Bearer token 来登录。所以,我们需要先生成一个 Bearer token。
创建登录 Dashboard 的 token 和 kubeconfig 配置文件#
dashboard 默认只支持 token 认证(不支持 client 证书认证),所以如果使用 Kubeconfig 文件,需要将 token 写入到该文件。
你可以参考官方文档来创建:Creating sample user。也可以,跟随教程来创建。
创建登录 Bearer token#
# 1. 创建 ServiceAccount
kubectl -n kubernetes-dashboard create sa dashboard-admin
# 2. 创建 ClusterRoleBinding
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
# 3. 创建 token
DASHBOARD_LOGIN_TOKEN=$(kubectl -n kubernetes-dashboard create token dashboard-admin)
echo ${DASHBOARD_LOGIN_TOKEN}
使用输出的 token 登录 Dashboard。这里,也需要把 token 保存起来,方便下次登录 dashboard。登录之后,界面如下:

创建使用 token 的 KubeConfig 文件#
创建命令如下:
source /opt/k8s/bin/environment.sh
# 设置集群参数
kubectl config set-cluster kubernetes \
--certificate-authority=/etc/kubernetes/cert/ca.pem \
--embed-certs=true \
--server=${KUBE_APISERVER} \
--kubeconfig=dashboard.kubeconfig
# 设置客户端认证参数,使用上面创建的 Token
kubectl config set-credentials dashboard_user \
--token=${DASHBOARD_LOGIN_TOKEN} \
--kubeconfig=dashboard.kubeconfig
# 设置上下文参数
kubectl config set-context default \
--cluster=kubernetes \
--user=dashboard_user \
--kubeconfig=dashboard.kubeconfig
# 设置默认上下文
kubectl config use-context default --kubeconfig=dashboard.kubeconfig
用生成的 dashboard.kubeconfig 登录 Dashboard。