云枢运维管理系统

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

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

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


相关推荐
feng_you_ying_li2 小时前
linux之进程优先与切换调度
linux·运维·服务器
记得多喝水o2 小时前
分析下最近的IPv8提案
运维·服务器
jieyucx2 小时前
Go 语言运算符与控制台输入输出详解
开发语言·后端·golang
光电笑映2 小时前
Linux C/C++ 开发工具(上):包管理器、Vim、gcc/g++ 与动静态库
linux·运维·服务器
张3232 小时前
Ansible变量与事实
运维·云原生·自动化
贺雷862 小时前
3. 远程访问Ubuntu
linux·运维·ubuntu
张小姐的猫2 小时前
【Linux】进程信号(质变)—— 信号捕捉 | 中断 | 内核态
linux·运维·服务器·c++
要做一个小太阳2 小时前
blockbox配置文件详解与优化
运维·网络·prometheus
一只鼠标猴2 小时前
甲方安全运营:漏洞整改推动实操指南
运维·安全·网络安全·安全架构·安全运营·漏洞整改