首页 游戏 软件 资讯 排行榜 专题
首页
系统平台
Kubernetes Dashboard安装与配置详细图文教程

Kubernetes Dashboard安装与配置详细图文教程

热心网友
52
转载
2026-05-20

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

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

在Linux系统上安装Kubernetes Dashboard,许多用户首先想到的是使用kubectl apply -f命令直接部署官方的recommended.yaml配置文件。这种方法看似简单直接,但新手常常会忽略一个关键配置:默认创建的服务类型是ClusterIP。这意味着Dashboard服务只能在Kubernetes集群内部被访问。如果你没有后续修改服务类型或使用端口转发,那么从外部浏览器将完全无法连接,导致安装看似成功却无法使用的尴尬局面。

为什么Kubernetes Dashboard部署后无法访问?

这是一个非常普遍的问题。当你执行完kubectl apply -f recommended.yaml后,通过kubectl get svc -n kubernetes-dashboard命令查看服务状态,会发现kubernetes-dashboard服务的TYPE字段显示为ClusterIP,而PORT(S)列通常只有443/TCP,没有任何对集群外部开放的端口。

  • 这是Kubernetes Dashboard官方出于安全考虑的设计:默认配置以最小化暴露面为原则,不主动开放外部网络访问。
  • 如果你既没有设置kubectl port-forward进行端口转发,也没有将Service类型修改为NodePortLoadBalancer
  • 更令人困惑的是,服务日志可能显示一切正常。运行kubectl logs -n kubernetes-dashboard deploy/kubernetes-dashboard命令很可能看不到任何错误信息,这容易让用户误以为Dashboard服务已经成功启动并运行。

如何通过NodePort方式从浏览器直接访问Dashboard?

最直接的解决方案是修改recommended.yaml配置文件中的Service定义部分。你需要将type: ClusterIP更改为type: 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登录失败的三个常见原因及解决方法

成功访问Dashboard登录页面后,粘贴Token却遇到Unauthorized(未授权)或Forbidden(禁止访问)错误?这通常是由于权限配置或Token本身的问题导致的。

  • 原因一:缺少集群角色绑定(ClusterRoleBinding)。 仅执行kubectl create serviceaccount dashboard-admin-sa创建服务账户是不够的。必须完成关键的一步:使用kubectl create clusterrolebinding dashboard-admin-sa --clusterrole=cluster-admin --serviceaccount=default:dashboard-admin-sa命令,将cluster-admin这个集群管理员角色绑定到你创建的服务账户上。
  • 原因二:使用的Token已过期。 通过kubectl create token命令生成的Token默认有效期仅为1小时,极易过期。对于需要长期登录管理的场景,建议创建Secret类型的永久Token,或者使用kubeadm token create --ttl 0命令生成一个不过期的Token。
  • 原因三:创建Token时指定的命名空间错误。 运行kubectl create token命令时,必须使用-n kubernetes-dashboard参数明确指定Dashboard服务账户所在的命名空间,而不是默认的default命名空间。否则生成的Token将不具备访问Dashboard后端API的权限。

使用Port-forward进行临时安全调试(不适用于生产环境)

在开发、测试或临时排查问题阶段,更推荐使用kubectl port-forward命令。这种方式无需修改YAML文件暴露节点端口,安全性更高。

  • 命令格式非常简单:kubectl -n kubernetes-dashboard port-forward svc/kubernetes-dashboard 8443:443
  • 执行后,在浏览器中访问https://localhost:8443,并根据提示接受自签名证书的安全警告即可。
  • 需要注意的是,该命令默认在前台运行,关闭终端会话会导致端口转发连接中断。虽然可以通过添加&符号放到后台运行,但该进程可能随Shell会话结束而终止。
  • 因此,必须明确:端口转发方式绝对不要用于生产环境。因为它依赖于本地的kubectl工具与集群API Server保持长连接,一旦网络中断、kubectl进程退出或kubeconfig文件权限变更,访问将立即失效。

总而言之,在Linux上成功部署并稳定运行Kubernetes Dashboard,其挑战往往不在于安装步骤本身,而在于对Kubernetes基础环境和配置依赖的全面理解。每一个环节都紧密关联:容器运行时(如Docker)的cgroup driver是否与kubelet配置一致、必要的内核参数(sysctl)是否已生效、节点主机名(hostname)是否符合命名规范、集群节点间的网络解析(/etc/hosts或DNS)是否畅通。忽略其中任何一环,都可能导致Dashboard页面卡在“Loading…”状态,或陷入登录重定向循环。因此,在应用YAML配置文件之前,花时间确保kubectl get nodes显示所有节点状态为Ready,并且kubectl get pods -A检查核心组件运行正常,这比急于安装更能从根本上提升成功率,节省大量故障排查时间。

来源:https://www.php.cn/faq/2408222.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Kali Linux 安装 OpenClaw 完整步骤指南
AI资讯
Kali Linux 安装 OpenClaw 完整步骤指南

在 Kali Linux 系统中安装 OpenClaw 时,如果直接使用 sudo 权限或默认安装方式,大概率会遇到因权限和网络环境导致的安装失败问题。本教程将提供一套完整的解决方案,通过三个关键步骤彻底解决这些常见错误,确保你的 OpenClaw 安装过程顺畅无阻。 第一步:解决权限问题(配置 n

热心网友
05.19
Ansible AWX安装配置教程 Linux自动化运维平台搭建指南
系统平台
Ansible AWX安装配置教程 Linux自动化运维平台搭建指南

如果你正准备在生产环境部署Ansible AWX,那么有一个关键信息必须首先明确:官方早已不再推荐,甚至可以说废弃了通过Linux原生包管理器(如apt或yum)的直接安装方式。当前唯一获得官方支持的路径,就是容器化部署。 这意味着,任何试图通过apt install awx或yum install

热心网友
05.19
Linux系统位数查询方法快速判断32位或64位
系统平台
Linux系统位数查询方法快速判断32位或64位

在Linux系统中准确判断其运行于32位还是64位架构,是系统管理和软件部署中的一项基础但至关重要的任务。许多用户在实际操作中容易混淆不同命令的输出含义,导致误判。本文将深入解析几种核心查询方法的原理与应用场景,帮助您精准把握系统位数信息。 使用 getconf LONG_BIT 精准判断当前运行环

热心网友
05.19
Linux SSH长连接配置教程 解决远程频繁掉线问题
系统平台
Linux SSH长连接配置教程 解决远程频繁掉线问题

SSH连接频繁中断是运维工作中常见的困扰,许多用户误以为是网络波动导致,实际上多数情况源于服务端或客户端对空闲连接的主动断开机制。因此,解决问题的核心并非简单延长超时阈值,而是正确配置SSH连接的“保活”策略,确保远程会话稳定不中断。 服务端配置:修改 sshd_config 启用 ClientAl

热心网友
05.19
Linux终止进程kill命令详解与使用教程
系统平台
Linux终止进程kill命令详解与使用教程

在Linux系统中终止进程,很多用户的第一反应是使用kill -9命令,并将其视为万能解决方案。然而,kill命令的本质是一个进程间通信机制,它向目标进程发送特定的信号。进程本身有权决定如何响应这些信号:它可以优雅地处理、选择忽略,甚至捕获并执行自定义操作。因此,终止操作能否成功,很大程度上取决于目

热心网友
05.19

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

苹果50周年总部庆典音乐会盛大举行
iphone
苹果50周年总部庆典音乐会盛大举行

为庆祝成立50周年,苹果在全球多地门店举办系列庆祝活动。最盛大的庆典在其总部ApplePark举行,员工齐聚草坪,传奇音乐人保罗·麦卡特尼登台献唱,首席执行官蒂姆·库克也参与其中。这场科技与艺术交融的盛会,既是对过往传奇的致敬,也寓意着新篇章的开启。

热心网友
05.20
苹果公司成立50周年库克内部信回顾从车库到25亿台销量历程
iphone
苹果公司成立50周年库克内部信回顾从车库到25亿台销量历程

苹果公司成立五十周年之际,首席执行官蒂姆·库克发布内部信回顾历程。信中指出,公司从车库中的一台原型机起步,如今全球活跃设备已达25亿台。库克强调,未来需主动创造而非等待,并鼓励员工铭记创新精神,共同把握机遇,开创下一个五十年。

热心网友
05.20
库克揭秘iPod爆红背后 苹果如何打造世界级供应链体系
iphone
库克揭秘iPod爆红背后 苹果如何打造世界级供应链体系

苹果CEO库克在专访中回顾了iPod的诞生历程。该产品以口袋装千首歌的能力革新了音乐消费方式。其爆红要求苹果在三个月内生产约1500万台,这极大考验了供应链。此次极限压力测试为苹果锻造出世界级供应链能力奠定了基础。库克还透露,首台原型机播放的第一首歌是《HeyJude》。

热心网友
05.20
段永平清仓阿里加仓英伟达拼多多 罕见布局Web3投资Circle
web3.0
段永平清仓阿里加仓英伟达拼多多 罕见布局Web3投资Circle

知名投资人段永平家族办公室持仓市值升至约200亿美元。本季度清仓阿里,减持苹果、台积电;重仓AI与电动车赛道,大幅增持英伟达并新建仓特斯拉,拼多多获增持。其首次跨足Web3领域,建仓稳定币发行商Circle,显示对合规区块链基础设施的关注。

热心网友
05.20
Mac放大镜功能开启指南 轻松看清屏幕细节
系统平台
Mac放大镜功能开启指南 轻松看清屏幕细节

Mac内置的“缩放”辅助功能可放大屏幕细节。通过系统设置开启该功能后,可选择画中画或全屏模式。用户可使用修饰键配合触控板手势、快捷键组合、双击Control+Option或鼠标智能缩放等多种方式灵活操作,满足不同场景下的查看需求。

热心网友
05.20