「容器管理系统」 1. 开篇:框架选型和环境搭建

一、项目背景

目前开源的容器管理项目只是单纯的管理容器,功能比较单一,业务功能复杂时,需要维护的可视化应用比较繁杂,因此,该项目想法由此而生,目的就是想实现一个综合云原生管理系统,不只是单一容器管理,还包含一些云原生需要的一些功能,实现一个系统管控所有的终极系统。

想法是好的,但是也要一步一来,目前首要切入点:容器管理,后面慢慢往后延伸,希望可以实现上面所说!

二、用什么框架?

目前市面上的web框架很多,像:GinBeegoEchoIris等,琳琅满目,各有各的好,这里咱们不对比框架的优缺点。

本次项目选用:Gin 作为核心框架,后面会考虑选用微服务架构,目前先谈论。

为什么选用 Gin 框架呢? 最直观的回答:熟悉,用的人多,社区活跃,可维护性高

三、做哪些功能?

既然是系统,怎么会不构思业务功能呢?

这里初版构思了一些功能:

  • 通用功能
    • 登录注册
    • JWT鉴权
    • 权限管理
  • 容器管理
    • 容器列表
    • 镜像管理
    • 创建容器
    • 容器扩容/缩容
    • 容器监控
    • 容器重启
  • 容器编排
  • ETCD
    • 服务注册
    • 服务发现

上面的功能只是初步构思,后面会完善一些更加便于操作的功能....

四、依赖环境有哪些?

  • golang 1.16.5
  • Docker Client 20.10.13
  • Docker Engine 20.10.13
  • Docker Desktop 4.6.1

五、结构目录

shell 复制代码
├── Dockerfile
├── LICENSE
├── README.md
├── cmd
├── conf
├── controllers
├── dmg
├── go.mod
├── go.sum
├── middleware
├── pkg
├── services
├── tag.sh
└── test

六、结束语

之前也写过几个开源项目,但是都是以学习为目的,所以那些项目都是未完成搁置状态,以后会慢慢的完善的。

但是这个系统我希望可以实现我定下的目标,一步一个脚印。也希望各位大家一起鼓励,一起监督....

相关推荐
ArixBit19 小时前
用 Go 手撸 Agent 框架 #11:工具从哪里来——内置工具、MCP 与 Skills
go·agent
程序员爱钓鱼21 小时前
为什么学习 Go?Go 能做什么?
后端·面试·go
用户095367515832 天前
在系统的学习 redis 前的疑惑
redis·go
名字还没想好☜2 天前
Go 用 errgroup 管理并发子任务:错误收敛、取消传播与限流
开发语言·后端·golang·go·并发
labixiong2 天前
TypeScript 7.0 编译器用 Go 重写,速度暴增10倍——背后到底做了什么?
前端·javascript·go
名字还没想好☜2 天前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
ArixBit3 天前
用 Go 手撸 Agent 框架 #10:用自己的 Runtime,做一个研究助手
go·agent
cocoCola916673 天前
validator库参数校验若干实用技巧
go
不会C语言的男孩3 天前
第三章:流程控制
go
名字还没想好☜4 天前
Go 的 sync.Pool 实战:复用对象把 GC 压力打下来
开发语言·后端·性能优化·golang·go