云枢运维管理系统

从 0 到 1 搭建 Go + React 运维平台:权限、K8s、告警、日志一体化实战(附 50+ 页面截图)

摘要(可直接粘贴到 CSDN)

本文分享我用 Go + React 搭建内部运维平台 Yunshu 的完整实践:系统管理、RBAC/Casbin 权限、Kubernetes 可视化管理、项目化告警中心、日志采集与实时查看。文章包含架构设计、核心功能拆解、数据库 ER 思路、排障路径,以及 50+ 页面截图。适合正在做中后台平台化、DevOps 平台、SRE 工具链整合的同学参考。

推荐标签golang react.js kubernetes devops 运维平台 权限系统 告警系统 日志系统


一、项目背景:为什么要做"一体化运维平台"?

很多团队都会遇到这些痛点:

  • 权限系统和项目系统是两套逻辑,协作成本高
  • K8s 运维过度依赖命令行,排障效率受经验影响大
  • 告警规则、值班、通知渠道分散,链路追踪困难
  • 日志采集与日志查看入口割裂,新同学上手慢

我做这个项目的目标很明确:把"权限 + K8s + 告警 + 日志+服务器 + 告警记录 + 项目纳管等多项内容"打通成一条完整链路,把日常排障动作尽量收敛到一个平台中。


二、项目简介(Yunshu)

Yunshu 是一个基于 Go + React 的 Kubernetes 运维与项目化告警平台,核心模块包括:

  1. 系统管理:用户、角色、菜单、组织架构、字典、审计
  2. 权限体系:Casbin + K8s 三元策略(cluster + namespace + action)
  3. 项目管理:项目、成员、服务器、服务、日志源、Agent
  4. 告警平台:数据源、规则、值班、静默、通知渠道、告警记录
  5. K8s 管理:工作负载、网络、存储、RBAC、CRD/CR、事件

三、技术栈选型

后端:

  • Go(Gin)
  • GORM(MySQL)
  • Casbin(权限控制)
  • Redis

前端:

  • React + TypeScript
  • Ant Design
  • Vite

四、快速启动

bash 复制代码
git clone https://github.com/chinesewxd123/yunshu.git
cd yunshu

go mod download
cd web && npm install && cd ..

go run . migrate
go run . seed
go run . server

前端:

bash 复制代码
cd web
npm run dev

五、核心功能截图(按业务链路)

1)登录与总览


  • 支持账密登录与邮箱验证码登录
  • 登录后菜单按权限动态加载
  • 概览页集中展示核心指标

2)系统管理与权限治理











  • 用户、角色、授权规则统一维护
  • Casbin 规则与接口权限结合
  • 登录日志 + 操作日志形成审计闭环

3)项目管理与日志平台






  • 项目维度管理服务器、服务、日志源与 Agent
  • 日志平台支持实时查看与过滤
  • 更适合多人协同排障

4)告警平台(规则到通知闭环)







  • 支持项目级数据源与规则管理
  • 值班、静默、通知渠道可组合编排
  • 触发与恢复消息均可追踪

5)Kubernetes 可视化管理


























  • 工作负载、网络、存储、RBAC、CRD/事件一站式管理
  • Pod 详情页只读,编辑统一走表单入口,减少误操作
  • 三元策略强化 K8s 细粒度授权

六、数据库与排障:我怎么让链路"可追踪"?

数据库:permission_system

我在文档中把 ER 图拆成了总览 + 5 张子图,并且每张子图都加了"查询入口 SQL 示例",用于排障和 onboarding:

  • docs/handbook/database/er-diagrams.md

推荐排障顺序:

  1. 按项目定位主资源链路(成员/服务器/数据源)
  2. 告警问题走"数据源 -> 规则 -> 值班 -> 事件"
  3. 权限问题走"用户 -> 角色 -> 授权规则 -> 操作日志"
  4. K8s 问题走"集群状态 -> 三元策略 -> 资源操作记录"

七、几个实践经验(踩坑总结)

  • 详情页与编辑页不要混用:详情建议只读,编辑统一入口
  • 权限语义要尽量统一:项目内角色和全局权限容易冲突,建议收敛
  • 告警系统必须可追踪:规则、值班、通知记录缺一不可
  • 文档要和页面同步迭代:截图 + 结构化说明对团队协作很关键

八、后续规划

  • 权限与策略冲突分析器
  • 告警消息模板可视化配置
  • 日志查询增强(收藏、回放、聚合分析)
  • 多云与多集群场景继续扩展

九、结语

如果你正在做内部平台建设,我建议优先把"权限、K8s、告警、日志"打通,再去做模块细节深挖。

平台化的价值,不是页面多,而是让排障路径更短、协作边界更清晰、团队上手更快。

欢迎评论区交流你的实践方案。


相关推荐
wanhengidc1 小时前
服务器中带宽的重要性
运维·服务器·网络·安全·web安全
云游牧者2 小时前
K8S故障排查三板斧-CSDN博客
运维·docker·云原生·kubernetes·k8s·容器化·故障排查
程序员老邢2 小时前
【技术底稿 32】Nginx 经典大坑复盘:本机公网域名自环代理,导致接口返回首页 / 404 实战排障
java·运维·nginx·前后端分离·技术底稿·后端部署
忧云3 小时前
开源 SSH 客户端 Netcatty:免费替代 Termius,带 AI 的现代化运维工具
运维·开源·ssh
想唱rap3 小时前
传输层协议TCP
linux·运维·服务器·网络·c++·tcp/ip
曦夜日长3 小时前
Linux系统篇,权限(二):缺省权限、最终权限的计算、文件隔离的两种方式
linux·运维·服务器
kebidaixu4 小时前
OK3568开发板更新Ubuntu22.04方法总结
linux·运维·服务器
AIDF20264 小时前
K8s 完整知识体系(含架构图)
云原生·容器·kubernetes
是桃萌萌鸭~4 小时前
oracle的隐藏虚拟列详解
运维·数据库·oracle
晚风予卿云月4 小时前
【Linux】Linux2.6 O(1)调度器超详解 | 进程切换+内核链表 | 面试必背
linux·运维·面试