🎨 阅读提示:本文适合所有 K8s 使用者,无论你是新手还是老司机,都能从 Kuboard 的可视化界面中获益。
前言
记得有一次,我带着一个新入职的同事熟悉公司的 K8s 集群。
打开终端,输入 kubectl get pods,看着满屏的 Pod 列表,我熟练地解释着每个字段的含义。然而当我转头看向同事时,发现他的表情是这样的:😵💫
“这个…全是黑底白字,看着好晕啊…”
那一刻我突然意识到:不是所有人都喜欢命令行。对于新手来说,纯命令行界面就像一道无形的门槛;对于运维老手来说,天天对着黑屏也容易审美疲劳。
后来我在 GitHub 上发现了 Kuboard,一款开源免费的 K8s 图形化管理工具。装上之后,集群状态一目了然,操作点点鼠标就能完成,连我那个对命令行发怵的同事都能独立排查问题了。
今天就和大家分享一下这个神器,5分钟安装,让你的 K8s 管理体验提升10倍。
一、Kuboard 是什么?
1.1 Kuboard 的定位
Kuboard 是一款基于 Web 的 Kubernetes 可视化管理平台,完全开源免费。
它的核心理念是:让 K8s 管理像操作桌面应用一样简单。
1.2 为什么选择 Kuboard?
市面上 K8s 的可视化工具不少,比如:
- Kubernetes Dashboard:官方出品,功能基础
- Rancher:功能强大,但偏重多集群管理
- KubeSphere:企业级平台,资源占用较大
- Kuboard:轻量易用,功能全面,中文友好
Kuboard 的独特优势:
| 特性 | Kuboard | Dashboard | Rancher |
|---|---|---|---|
| 中文支持 | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ |
| 资源占用 | 低 | 低 | 高 |
| 安装复杂度 | 简单 | 简单 | 复杂 |
| 功能丰富度 | ⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 学习曲线 | 平缓 | 平缓 | 陡峭 |
| 开源免费 | ✅ | ✅ | ✅ |
💡 选型建议:
- 新手入门/中小团队 → Kuboard(推荐)
- 多集群大规模管理 → Rancher
- 轻量级需求 → Dashboard
1.3 Kuboard 的核心功能
Kuboard 几乎覆盖了 K8s 日常运维的所有场景:
资源管理:
- 📦 工作负载:Deployment、StatefulSet、DaemonSet、Job、CronJob
- 🌐 服务发现:Service、Ingress
- ⚙️ 配置管理:ConfigMap、Secret
- 💾 存储管理:PV、PVC、StorageClass
运维监控:
- 📊 节点资源监控(CPU、内存、磁盘)
- 📈 Pod 资源排行(Top Pods)
- 📋 事件追踪(Events)
- 📝 日志查看(实时/历史)
- 🖥️ 终端连接(Web 终端)
高级功能:
- 🔍 YAML 编辑器(可视化编辑 + 代码模式)
- 📈 自动伸缩(HPA)配置
- 🏷️ 标签/污点管理
- 🚫 节点排空(Cordon/Drain)
二、Kuboard 安装实战
2.1 环境准备
前提条件:
- 已有一个可用的 K8s 集群(v1.16+)
- 集群可以访问互联网(拉取镜像)
- kubectl 已配置好集群连接
资源要求:
- CPU:0.5 核
- 内存:512 Mi
- 存储:5 GB(用于日志和缓存)
2.2 一键安装
Kuboard 的安装非常简单,只需要两条命令:
# 1. 安装 Kuboard
kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml
# 2. 安装 metrics-server(用于资源监控)
kubectl apply -f https://addons.kuboard.cn/metrics-server/0.3.7/metrics-server.yaml
命令解释:
- 第一条:部署 Kuboard 的 Deployment、Service、RBAC 等资源
- 第二条:部署 metrics-server,提供节点和 Pod 的资源使用数据
2.3 等待安装完成
# 查看 Pod 状态
kubectl get pods -l k8s.kuboard.cn/name=kuboard -n kube-system
# 预期输出
NAME READY STATUS RESTARTS AGE
kuboard-74c645f5df-slpmf 1/1 Running 0 3m41s
等待 STATUS 变为 Running,说明安装成功。
2.4 获取访问地址
Kuboard 默认使用 NodePort 方式暴露服务:
# 查看 Service
kubectl get svc kuboard -n kube-system
# 输出示例
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kuboard NodePort 10.96.123.45 <none> 80:32567/TCP 5m
访问地址:http://<NodeIP>:32567
例如:http://192.168.0.112:32567
2.5 获取登录 Token
Kuboard 使用 Token 认证,需要生成并获取登录 Token:
# 获取 Token
echo $(kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep ^kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)
预期输出:
eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.xxx.xxx
复制这个长字符串,在登录页面粘贴即可。
🔥 坑点警示:如果执行命令报错 “secret not found”,说明 Kuboard 还没完全启动,稍等几分钟再试。
2.6 登录 Kuboard
- 打开浏览器访问
http://<NodeIP>:32567 - 选择 “Token” 登录方式
- 粘贴刚才获取的 Token
- 点击登录

登录成功后,就能看到 Kuboard 的首页了!
三、Kuboard 界面详解
3.1 首页概览
登录后首先看到的是集群概览页:

页面布局:
- 左上角:集群切换(支持多集群管理)
- 右上角:集群信息、版本、API 地址
- 中部:命名空间列表和工作负载统计
- 左下角:计算资源(CPU、内存使用率)
- 右下角:存储资源(磁盘使用)
3.2 节点管理
点击任意节点卡片,进入节点详情页:

功能区域:
| 区域 | 功能 |
|---|---|
| 节点状态 | 查看节点基本信息、资源使用、YAML 配置 |
| 容器组 | 查看该节点上的所有 Pod 列表 |
| 镜像 | 查看节点上拉取的容器镜像 |
| 标签/污点 | 管理节点标签和污点(Taints) |
常用操作:
- 🚫 暂停调度(Cordon):标记节点为不可调度
- 🗑️ 排空节点(Drain):驱逐节点上的 Pod,用于维护
- 📝 编辑标签:添加/修改节点标签
3.3 工作负载管理
在命名空间页面,可以看到所有工作负载:

支持的资源类型:
- Deployment:无状态应用
- StatefulSet:有状态应用
- DaemonSet:守护进程
- Job:一次性任务
- CronJob:定时任务
操作按钮:
- 📊 伸缩:调整副本数量
- 🔄 滚动更新:修改镜像版本
- ⚙️ 自动伸缩:配置 HPA
- 🏷️ 标签:管理标签
- 📄 YAML:查看/编辑 YAML
3.4 Pod 详情与日志
点击 Pod 名称进入详情页:
容器日志:
- 实时追踪日志
- 查看历史日志
- 按关键字搜索

Web 终端:
- 无需 ssh 到节点
- 直接在浏览器连接容器
- 支持 bash/sh

3.5 ConfigMap & Secret
Kuboard 提供了可视化的 ConfigMap 编辑器:

- 键值对可视化编辑
- 支持从文件导入
- YAML 实时预览
3.6 事件追踪
Kuboard 将 Events 整合到关联资源的页面:

- 按时间排序
- 按类型筛选(Normal/Warning)
- 关联到具体资源
四、实战:从界面完成常见操作
4.1 创建 Deployment(可视化)
不需要写 YAML,通过表单就能创建:
步骤 1:点击 “创建工作负载”
步骤 2:填写基本信息
- 名称:nginx-deployment
- 类型:Deployment
- 副本数:3
步骤 3:配置容器
- 镜像:nginx:1.8
- 端口:80
- 资源限制(可选):CPU 100m,内存 128Mi
步骤 4:点击创建

优势对比:
| 操作 | kubectl(命令行) | Kuboard(界面) |
|---|---|---|
| 创建 Deployment | 需要编写 YAML 文件 | 表单填写,一键创建 |
| 修改副本数 | kubectl scale | 点击 +/- 按钮 |
| 查看日志 | kubectl logs | 界面实时查看 |
| 进入容器 | kubectl exec | Web 终端一键连接 |
4.2 监控 Pod 资源使用
在 Pod 列表页面,可以查看每个 Pod 的资源使用情况:

展示字段:
- CPU 请求/限制
- 内存请求/限制
- 实际使用率
应用场景:
- 快速发现资源使用异常的 Pod
- 辅助 HPA 配置决策
- 排查资源不足导致的 OOM
4.3 配置自动伸缩(HPA)
在 Deployment 页面,点击 “自动伸缩”:
配置参数:
- 最小副本数:2
- 最大副本数:10
- CPU 阈值:50%
- 内存阈值:60%
点击保存,HPA 就创建完成了!
对比命令行:
# 命令行方式
kubectl autoscale deployment nginx-deployment \
--cpu-percent=50 \
--min=2 \
--max=10
界面操作更直观,不容易出错。
五、Kuboard vs kubectl:如何选择?
5.1 使用场景对比
| 场景 | 推荐工具 | 原因 |
|---|---|---|
| 快速查看状态 | kubectl | kubectl get pods 更快 |
| 批量操作 | kubectl | 脚本化、自动化 |
| 新手学习 | Kuboard | 直观易懂 |
| 故障排查 | Kuboard | 日志、终端、事件一屏展示 |
| 配置编辑 | Kuboard | 可视化编辑,少出错 |
| CI/CD 集成 | kubectl | 命令行易集成 |
5.2 最佳实践:两者结合
日常工作流:
- 开发调试:用 Kuboard 查看日志、连接终端
- 发布部署:用 kubectl apply,版本可控
- 问题排查:用 Kuboard 可视化追踪
- 批量操作:用 kubectl + 脚本
建议配置:
- 给新手配 Kuboard,降低学习门槛
- 老司机继续用 kubectl,效率更高
- 两者不冲突,根据场景选择
六、生产环境使用建议
6.1 安全性配置
默认风险:
- Kuboard 默认使用 NodePort 暴露
- Token 认证相对简单
生产加固:
# 1. 修改 Service 类型为 ClusterIP(不直接暴露)
kubectl patch svc kuboard -n kube-system -p '{"spec":{"type":"ClusterIP"}}'
# 2. 通过 Ingress + HTTPS 暴露
# 3. 配置 RBAC,限制权限
# 4. 启用审计日志
6.2 高可用部署
默认 Kuboard 是单副本,生产环境建议:
apiVersion: apps/v1
kind: Deployment
metadata:
name: kuboard
namespace: kube-system
spec:
replicas: 2 # 改为多副本
# ...
6.3 数据备份
Kuboard 的配置数据存储在 etcd 中,建议:
- 定期备份 etcd
- 记录自定义的登录 Token
七、常见问题排查
问题 1:无法访问 Kuboard 页面
现象:浏览器访问显示 “无法连接”
排查步骤:
# 1. 检查 Pod 状态
kubectl get pods -l k8s.kuboard.cn/name=kuboard -n kube-system
# 2. 检查 Service
kubectl get svc kuboard -n kube-system
# 3. 检查防火墙
# 确保节点防火墙放行 32567 端口
# 4. 使用端口转发测试
kubectl port-forward svc/kuboard 8080:80 -n kube-system
# 然后访问 http://localhost:8080
问题 2:Token 失效或无法获取
现象:登录提示 Token 无效
解决:
# 重新生成 Token
kubectl create serviceaccount kuboard-user -n kube-system
kubectl create clusterrolebinding kuboard-user \
--clusterrole=cluster-admin \
--serviceaccount=kube-system:kuboard-user
# 获取新 Token
kubectl get secret $(kubectl get sa kuboard-user -n kube-system -o jsonpath='{.secrets[0].name}') -n kube-system -o jsonpath='{.data.token}' | base64 -d
问题 3:metrics-server 不工作
现象:看不到资源使用率
排查:
# 检查 metrics-server 状态
kubectl get pods -n kube-system | grep metrics-server
# 查看日志
kubectl logs -n kube-system -l k8s-app=metrics-server
# 常见问题:证书问题
# 如果是自签名证书,需要添加 --kubelet-insecure-tls 参数
八、卸载 Kuboard
如果不再需要 Kuboard,可以干净卸载:
# 卸载 Kuboard
kubectl delete -f https://kuboard.cn/install-script/kuboard.yaml
# 卸载 metrics-server
kubectl delete -f https://addons.kuboard.cn/metrics-server/0.3.7/metrics-server.yaml
# 清理数据(可选)
kubectl delete secret -n kube-system -l k8s.kuboard.cn/name=kuboard
总结
这篇文章,我们完整介绍了 Kuboard 的使用:
核心价值
- 降低门槛:新手也能快速上手 K8s
- 提升效率:可视化操作,减少出错
- 辅助排查:日志、终端、监控一屏搞定
适用场景
- ✅ 新手学习 K8s
- ✅ 日常运维查看
- ✅ 故障排查定位
- ✅ 快速创建/修改资源
工具对比
| 维度 | Kuboard | kubectl |
|---|---|---|
| 学习成本 | 低 | 高 |
| 操作效率 | 中 | 高 |
| 可视化 | 强 | 无 |
| 自动化 | 弱 | 强 |
最终建议
不要排斥任何一种工具。
- 用 Kuboard 辅助理解和排查
- 用 kubectl 进行脚本化和自动化
- 两者结合,效率最高
求助与交流
如果你在安装或使用 Kuboard 时遇到问题,欢迎在评论区交流。
下一篇预告:《K8s 入门第六课:ConfigMap 和 Secret——配置管理实战》
建议收藏关注,持续更新 K8s 系列教程!

4073

被折叠的 条评论
为什么被折叠?



