这是一个基于Kubernetes的轻量级PaaS平台,提供了友好的Web界面来管理Kubernetes集群资源。该平台支持多集群管理、应用部署、容器管理、日志查看、终端访问等功能,旨在简化Kubernetes的日常运维和管理工作。
- 支持多集群管理,通过上传kubeconfig文件添加集群
- 命名空间创建与管理
- 集群资源监控与查看
- 创建和部署应用(支持Deployment、StatefulSet、DaemonSet等工作负载类型)
- 应用配置管理(环境变量、配置文件等)
- 应用资源伸缩和更新
- 一键导出应用YAML配置
- Pod详情查看(状态、容器信息、标签等)
- 实时日志查看(支持自动刷新和下载)
- 容器终端访问(支持全屏模式和容器切换)
- 私有镜像仓库集成管理
- 支持Harbor等主流镜像仓库
- 镜像版本查询和选择
- React.js
- Ant Design 组件库
- Axios用于API请求
- WebSocket用于终端和日志实时数据
- xterm.js用于终端模拟
- Go语言
- Gin Web框架
- client-go与Kubernetes API交互
- WebSocket支持实时数据传输
- PostgreSQL持久化存储
- 应用配置和元数据持久化存储
- Kubernetes资源关联管理
- 集群配置信息安全存储
- 数据库结构包含以下主要表:
applications
: 存储应用配置信息kube_configs
: 存储Kubernetes集群配置kubernetes_resources
: 记录应用关联的K8s资源
- 连接池优化: 最大25个连接,10个空闲连接
- 自动重连机制: 失败后最多3次重试
- 连接生命周期管理: 最大生命期10分钟,空闲超时5分钟
cd cloud-ui
npm install
cd cloud-api
go mod download
创建PostgreSQL数据库并配置以下环境变量或修改配置文件:
# PostgreSQL数据库配置
DB_HOST=localhost
DB_PORT=5432
DB_USER=admin
DB_PASSWORD=password
DB_NAME=clouddb
DB_SCHEMA=public
cd cloud-ui
npm start
cd cloud-api
go run main.go
# 或者使用预编译的二进制文件
./start.bat # Windows
./cloud-deployment-api # Linux/MacOS
- Node.js 14.x+
- Go 1.19+
- PostgreSQL 13+
- 可访问的Kubernetes集群
- 现代浏览器(Chrome、Firefox、Edge等)
REACT_APP_API_BASE_URL=/api # 后端API的基础URL
后端配置通过命令行参数或环境变量提供,详见cloud-api/README.md
。
cd cloud-ui
npm run build
# 将build目录下的文件部署到Web服务器
cd cloud-api
go build -o cloud-deployment-api main.go
# 将编译后的二进制文件部署到服务器
- 安装PostgreSQL数据库(推荐13版本或更高)
- 创建数据库和用户
CREATE DATABASE clouddb; CREATE USER admin WITH ENCRYPTED PASSWORD 'password'; GRANT ALL PRIVILEGES ON DATABASE clouddb TO admin;
- 初始化表结构(应用首次启动会自动验证表结构)
- 简洁直观的用户界面,降低Kubernetes使用门槛
- 集成日志查看和终端访问,无需额外工具
- 应用部署流程简化,支持多种工作负载类型
- 支持实时资源监控和状态更新
- 响应式设计,适配不同设备屏幕
- 可靠的数据持久化,确保配置不丢失
欢迎贡献代码或提出问题!请遵循以下步骤:
- Fork项目
- 创建功能分支 (
git checkout -b feature/amazing-feature
) - 提交更改 (
git commit -m 'Add some amazing feature'
) - 推送到分支 (
git push origin feature/amazing-feature
) - 创建Pull Request
如有问题或建议,请通过GitHub Issues提交。
注意: 本项目为演示用途,生产环境使用前请进行安全评估和适当配置。