云枢运维管理系统

从 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、告警、日志"打通,再去做模块细节深挖。

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

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


相关推荐
荣--2 小时前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森3 小时前
动手实战学 Docker — 从零到集群编排完全指南
运维
Java之美4 小时前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
Avan_菜菜19 小时前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB2 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220704 天前
如何搭建本地yum源(上)
运维
大树887 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠7 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql