Home

Awesome

简体中文 | English

kubemanage

<p > <a href="https://golang.google.cn/"> <img src="https://img.shields.io/badge/Golang-1.18-green.svg" alt="golang"> </a> <a href="https://gin-gonic.com/"> <img src="https://img.shields.io/badge/Gin-1.7.4-red.svg" alt="gin"> </a> <a href="https://gorm.io/"> <img src="https://img.shields.io/badge/Gorm-1.21-orange.svg" alt="gorm"> </a> <a href="https://vuejs.org/"> <img src="https://img.shields.io/badge/Vue-3.0.0-orange.svg" alt="vue"> </a> </p>

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

现有特性

Roadmap

Issue 规范

Pull Request 规范

生成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