chenfeitech / kubemanage

kubemanage是使用go+vue3开发的一款云原生运维平台,功能包括但不限于Kubernetes多集群管理、CMDB、Devops,可作为企业二次开发的模板,新手入门的学习项目

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

简体中文 | English

kubemanage

golang gin gorm vue

kubemanage是一个简单易用的K8S管理平台,前端使用vue3,后端使用gin+gorm,对于初学k8s开发的同学来说,是一个很方便练手的项目,也可以作为企业二次开发的模板

技术栈选型当下最主流框架,后端使用Gin+GORM,前端使用vite+pinia+VUE3(v3版本)开发,前后端分离开发模式,使用client-go与K8S交互,使用Casbin与动态路由实现RBAC的权限体系

前端项目地址 https://github.com/noovertime7/kubemanage-web

V3版本前端项目地址(开发中) https://gitee.com/noovertime/kubemanage-web.git

开始部署

初始化数据库

需要手动创建数据库,数据表与数据会通过DBInitializer自动初始化

CREATE DATABASE kubemanage;

运行工程

前端

git clone https://github.com/noovertime7/kubemanage-web.git

cd kubemanage-web

npm install

npm run serve

后端

注意:请确保用户名/./kube 文件夹下存在k8s的kubeconfig文件,后面重构为多集群注册模式,容器部署,前端使用V3版本,后端请切换到V3分支

开始前请设置配置文件环境变量KUBEMANAGE-CONFIG,或通过命令行参数configFile指定,配置文件优先级: 默认配置 < 环境变量< 命令行

git clone https://github.com/noovertime7/kubemanage.git

cd kubemanage

go mod tidy

go run cmd/main.go

默认用户名密码 admin/kubemanage

现有特性

  • 支持RBAC的权限管理,根据角色配置菜单权限与接口权限
  • 支持资产管理,多主机同步连接,互不影响
  • 本地Kubernetes集群的管理
  • 接口调用操作审计功能

Roadmap

  • 支持多集群管理
  • 支持应用一键发布
  • 在线工单审批系统

Issue 规范

  • issue 仅用于提交 Bug 或 Feature 以及设计相关的内容,其它内容可能会被直接关闭。

  • 在提交 issue 之前,请搜索相关内容是否已被提出。

Pull Request 规范

  • 请先 fork 一份到自己的项目下,在自己项目下新建分支。

  • commit 信息要以feat(model): 描述信息 的形式填写,例如 fix(user): fix xxx bug / feat(user): add xxx

  • 如果是修复 bug,请在 PR 中给出描述信息。

  • 合并代码需要两名维护人员参与:一人进行 review 后 approve,另一人再次 review,通过后即可合并。

生成APi文档

使用swag生成api文档

PS: 请使用最新版本的swag工具,建议拉取最新代码后自行编译,否则会swag init初始化失败

swag init --pd -d ./cmd,docs

成功生成后访问 http://127.0.0.1:6180/swagger/index.html

效果演示

集群详情(v3版本) image

首页 首页

操作审计(v3版本)

接口与菜单的RBAC控制(v3版本)

用户管理(v3版本)

服务状态(v3版本)

CMDB主机管理(v3版本)

CMDB网页终端(v3版本)

工作流 工作流

deployment image

image

deployment

pod 首页

POD日志 POD 日志

POD终端 POD 终端

service service

configmap configmap

node node

About

kubemanage是使用go+vue3开发的一款云原生运维平台,功能包括但不限于Kubernetes多集群管理、CMDB、Devops,可作为企业二次开发的模板,新手入门的学习项目

License:MIT License


Languages

Language:Go 100.0%