一、项目背景
目前开源的容器管理项目只是单纯的管理容器,功能比较单一,业务功能复杂时,需要维护的可视化应用比较繁杂,因此,该项目想法由此而生,目的就是想实现一个综合云原生管理系统,不只是单一容器管理,还包含一些云原生需要的一些功能,实现一个系统管控所有的终极系统。
想法是好的,但是也要一步一来,目前首要切入点:容器管理,后面慢慢往后延伸,希望可以实现上面所说!
二、用什么框架?
目前市面上的web
框架很多,像:Gin
、Beego
、Echo
、Iris
等,琳琅满目,各有各的好,这里咱们不对比框架的优缺点。
本次项目选用:Gin
作为核心框架,后面会考虑选用微服务架构
,目前先谈论。
为什么选用 Gin
框架呢? 最直观的回答:熟悉,用的人多,社区活跃,可维护性高
。
三、做哪些功能?
既然是系统,怎么会不构思业务功能呢?
这里初版构思了一些功能:
- 通用功能
- 登录注册
- JWT鉴权
- 权限管理
- 容器管理
- 容器列表
- 镜像管理
- 创建容器
- 容器扩容/缩容
- 容器监控
- 容器重启
- 容器编排
- ETCD
- 服务注册
- 服务发现
上面的功能只是初步构思,后面会完善一些更加便于操作的功能....
四、依赖环境有哪些?
- golang 1.16.5
- Docker Client 20.10.13
- Docker Engine 20.10.13
- Docker Desktop 4.6.1
五、结构目录
├── Dockerfile
├── LICENSE
├── README.md
├── cmd
├── conf
├── controllers
├── dmg
├── go.mod
├── go.sum
├── middleware
├── pkg
├── services
├── tag.sh
└── test
六、结束语
之前也写过几个开源项目,但是都是以学习为目的,所以那些项目都是未完成搁置状态,以后会慢慢的完善的。
但是这个系统我希望可以实现我定下的目标,一步一个脚印。也希望各位大家一起鼓励,一起监督....