「容器管理系统」 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

六、结束语

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

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

相关推荐
君万2 小时前
【LeetCode每日一题】回溯:46. 全排列 78. 子集 39. 组合总和
算法·leetcode·go
vipxieliang9 小时前
Go 逃逸分析与内存优化:从读懂 -gcflags=“-m“ 到降低 GC 压力
go
小杨互联网1 天前
Go 现代 CLI 工具离线镜像合集
开发语言·后端·golang·开源·go·命令行
hourinX1 天前
从直接填格子到筛选图案:头像生成这部分是怎样改过来的—— gdenticon 重构日志(三)
go
我不会起名字3221 天前
Redis 从 0 到 1(十三):分布式锁被误删、锁不住?Go 无 Lua 实现 3 级防御
redis·go·分布式锁·watch·setnx
hourinX2 天前
从 v1 到 v2,我重新拆了头像生成的整条链路—— gdenticon 重构日志(二)
go
FungLeo2 天前
成为全栈·Go 后端篇·分类树与标签关系:目录变更为何需要协调
golang·go·gorm·数据库事务·分类树·成为全栈
FungLeo2 天前
成为全栈·Go 后端篇·文章查询与展示投影:安全分页、排序和软删除
golang·go·gorm·分页查询·成为全栈·sql安全
KevinAshen673 天前
用 Go 修复旧下载工具:从接口 403 到凭证截断的完整复盘
go·github
FungLeo4 天前
成为全栈·Go 后端篇·跨语言认证兼容:Node 与 Go 如何互认 JWT 和密码
golang·go·jwt·身份认证·成为全栈·bcrypt