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

一、项目背景

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

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

二、用什么框架?

目前市面上的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

五、结构目录

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

六、结束语

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

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

相关推荐
福兮说1 小时前
Go time 包的九个坑:== 判断相等、Parse 差 8 小时、1 月 31 日加一个月变成 3 月 3 日
go
我的div丢了肿么办21 小时前
go语言中的空接口和类型断言
后端·go
Thinker QAQ1 天前
并发编程(七):volatile——从语言规则到 CPU
java·python·go·并发编程·volatile·memory model
ZealSinger1 天前
Go1.25 FlightRecorder慢请求截trace
网络·数据库·go
福兮说1 天前
Go 迭代器的七个坑:break 后 panic、一次性迭代器、iter.Pull 不 stop,还有一个跑错地方的 defer
go
ThinkerQAQ_1 天前
并发编程(七):volatile——从语言规则到 CPU
java·python·go
墨鱼老师1 天前
Go+Gin+Vue 毕设项目:Gin 框架搭建后端基础接口实战
vue.js·golang·go·gin·前后端分离·计算机毕业设计·go 后端
福兮说2 天前
Go slices 包的七个坑:Delete 把旧切片清零、Insert 时而写穿、SortFunc 不稳定(Go 1.25 实跑)
go
我的div丢了肿么办3 天前
go语言中如何安装第3方的包
后端·go
tachibana23 天前
与其他语言相比,使用 Go 有什么好处?
开发语言·后端·golang·go