Linux系统安装Kubernetes Dashboard 可视化管理面板教程【详解】

陌涛姑娘_6260

陌涛姑娘_6260

2026-05-02

779人浏览

原创

默认ClusterIP类型导致外网无法访问,需改为NodePort或用port-forward;常见原因还包括token权限绑定错误、命名空间误设及证书问题。

linux系统安装kubernetes dashboard 可视化管理面板教程【详解】

直接用 kubectl apply -f 部署官方 recommended.yaml 是最简路径,但默认是 ClusterIP 类型,无法从浏览器直连——必须改 Service 类型或加 port-forward,否则白装。

为什么 dashboard 服务部署后打不开?

常见现象:执行 kubectl apply -f recommended.yaml 后,kubectl get svc -n kubernetes-dashboard 显示 kubernetes-dashboard 的 TYPE 是 ClusterIP,PORT(S) 只有 443/TCP,没对外暴露端口。

  • 这是设计使然:官方 YAML 默认不开放外部访问,安全优先
  • 若你没配 port-forward 或没改 Service 类型,浏览器访问任何 IP + 端口都会失败(Connection refused)
  • 错误日志里通常看不到明显报错,kubectl logs -n kubernetes-dashboard deploy/kubernetes-dashboard 显示正常,容易误判为“已就绪”

如何让 dashboard 从浏览器直接访问(NodePort 方式)

修改 recommended.yaml 中的 Service 定义,把 type: ClusterIP 改成 NodePort,并指定一个可用端口(如 31313)。

  • 编辑 YAML 文件,定位到 kind: Service 下的 spec 段,确保包含:
    ports:
    - port: 443
      targetPort: 8443
      nodePort: 31313
    type: NodePort
  • nodePort 范围必须是 30000–32767,低于 30000 会报错:error validating data: ValidationError(Service.spec.ports[0]): invalid type for io.k8s.api.core.v1.ServicePort.nodePort
  • 若提示 Bind failed on port 31313,说明宿主机该端口被占用,换一个再试
  • 改完保存,重新 kubectl apply -f recommended.yaml(不用删旧资源,apply 会自动更新)

token 登录失败的三个高频原因

拿到 token 后粘贴进登录页,仍提示 Unauthorized 或 Forbidden,大概率是权限绑定或 token 时效问题。

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 没绑定 ClusterRoleBinding:只运行 kubectl create serviceaccount dashboard-admin-sa 不够,必须补上 kubectl create clusterrolebinding dashboard-admin-sa --clusterrole=cluster-admin --serviceaccount=default:dashboard-admin-sa
  • token 过期:用 kubectl create token 生成的 token 默认有效期 1 小时;长期使用建议创建 Secret 类型的 token,或改用 kubeadm 生成的长期 token(如 kubeadm token create --ttl 0)
  • 命名空间写错:kubectl create token 必须指定 -n kubernetes-dashboard(Dashboard 自身 SA 所在命名空间),不是 default;否则返回的 token 无权访问 Dashboard 后端

port-forward 临时调试更安全,但别用于生产

开发/测试阶段推荐用 port-forward,不暴露节点端口,也无需改 YAML。

  • 命令:kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard 8443:443
  • 浏览器打开 https://localhost:8443,接受证书风险(自签名证书)
  • 注意:该命令前台运行,终端关闭即断连;后台运行需加 &,但进程易被 shell 退出带走
  • 生产环境禁用此方式——它依赖本地 kubectl 连接集群 API Server,一旦网络中断或 kubeconfig 权限变更,立即不可用

真正麻烦的不是部署步骤,而是每个环节都依赖前序配置准确:cgroup driver 是否与 Docker 一致、sysctl 参数是否生效、hostname 是否含下划线、甚至 /etc/hosts 里 master 和 node 的解析是否双向可达——漏掉任意一环,Dashboard 就可能卡在 “Loading…” 或反复重定向。动手前先跑通 kubectl get nodes 和 kubectl get pods -A,比急着 apply YAML 更省时间。

相关专题

更多
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

2025.12.22

116

5

Go云原生应用与Kubernetes服务部署实战
Go云原生应用与Kubernetes服务部署实战

本专题围绕 Go 语言在云原生环境中的应用展开,讲解容器化部署、Kubernetes 编排、服务发现、健康检查与弹性扩缩容机制。通过真实云端案例,帮助开发者构建可扩展的云原生微服务架构。

2026.06.29

208

19

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4230

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3573

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2813

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6890

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6542

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3773

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3265

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习