如何在 Ubuntu 上运行 Kubernetes Dashboard
导读:在 Ubuntu 上部署并访问 Kubernetes Dashboard 的完整步骤 一 准备与前提 已有一个可用的 Kubernetes 集群(如 kubeadm 部署的单节点或多节点),并且 kubectl 已配置好 kubeconf...
在 Ubuntu 上部署并访问 Kubernetes Dashboard 的完整步骤
一 准备与前提
- 已有一个可用的 Kubernetes 集群(如 kubeadm 部署的单节点或多节点),并且 kubectl 已配置好 kubeconfig 上下文。
- 节点网络与镜像仓库可达;如在 国内环境,建议准备可用的镜像加速或替代仓库,以加快拉取官方镜像的速度。
二 部署 Kubernetes Dashboard
- 使用官方推荐清单部署(示例版本为 v2.7.0,可按需替换为最新稳定版):
- 部署命令:kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
- 验证运行状态:kubectl get pods -n kubernetes-dashboard
- 国内镜像加速(可选,编辑 recommended.yaml 后 apply):
- 将镜像 kubernetesui/dashboard:v2.7.0 替换为 registry.aliyuncs.com/google_containers/dashboard:v2.7.0
- 将镜像 kubernetesui/metrics-scraper:v1.0.8 替换为 registry.aliyuncs.com/google_containers/metrics-scraper:v1.0.8
- 若 raw.githubusercontent.com 解析受限,可在 /etc/hosts 增加解析(示例):185.199.108.133 raw.githubusercontent.com。
三 创建管理员并获取登录凭据
- 创建具有集群管理员权限的 ServiceAccount(推荐在 kube-system 命名空间):
- kubectl create serviceaccount dashboard-admin -n kube-system
- kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
- 获取登录 Token:
- kubectl -n kube-system create token dashboard-admin
- 说明:recommended.yaml 中已默认创建了名为 kubernetes-dashboard 的 ServiceAccount(命名空间为 kubernetes-dashboard)。如需使用该内置账户,可通过以下方式取 Token:
- kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep kubernetes-dashboard | awk ‘{ print $1} ’)。
四 访问方式
- 方式一 kubectl proxy 本地访问(适合本机或跳板机访问)
- 启动代理:kubectl proxy
- 浏览器访问:http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
- 方式二 修改 Service 为 NodePort 对外暴露(适合直接通过节点 IP 访问)
- 在 recommended.yaml 中找到 kind: Service(namespace 为 kubernetes-dashboard),修改为:
- type: NodePort
- ports:
- port: 443 targetPort: 8443 nodePort: 30443
- 应用配置后,通过 https://< 节点IP> :30443 访问(注意使用 HTTPS 与有效证书或浏览器安全例外)。
- 在 recommended.yaml 中找到 kind: Service(namespace 为 kubernetes-dashboard),修改为:
五 常见问题与排查
- Pod 处于 Pending 或 ImagePullBackOff:
- 检查节点污点与资源:kubectl describe node | grep Taints;kubectl get pods -A -o wide
- 国内环境优先使用已替换的国内镜像仓库,或手动拉取后重试。
- 无法打开页面或连接被拒绝:
- 确认 Service 类型与端口(NodePort 的 nodePort 是否在 30000–32767 范围且未被占用)。
- 如使用 kubectl proxy,确认代理进程运行且访问端口为 8001。
- 登录报错(如 forbidden 或 token 无效):
- 确认使用的 ServiceAccount 已通过 ClusterRoleBinding 绑定到 cluster-admin,并使用对应 namespace 的 Token 登录。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在 Ubuntu 上运行 Kubernetes Dashboard
本文地址: https://pptw.com/jishu/753311.html
