Commander(指挥官)介绍

237 阅读4分钟

简介

ManGe Commander 是轻量级一站式DevOps平台,是持续部署、持续集成的解决方案,也是服务器管理、 操作、监控、在线终端、远程部署的解决方案,同时集成了Docker管理。

官网

commander.mange.work/

定位

  • 运维工具
  • 部署软件
  • 开发相关软件
  • 服务器管理工具
  • Docker管理工具

产品目的

  • 提升运维效率
  • 降低多服务器管理成本
  • 低学习成本快速上手并使用
  • 提升部署效率
  • 精准监控与报警系统
  • 开发相关软件集成提升开发工作效率

架构介绍

功能架构: 采用master/slave机制,master一对多的管理slave,为了高可用master支持集群;

master: 主要功能是提供操作界面(web UI),分发任务到slave,收集并分析slave上报的采集服务器数据进行监控,下发服务器的操作指令,网络地址注册中心等

slave: 主要功能是守护进程,docker操作,系统操作,采集服务器的性能数据,自动维护项目等

master与salve间的通讯: 数据交互使用UDP+TCP 实现的自定义通讯协议, 下载上传文件使用http/s协议

功能架构图:

网关: L4负载均衡,网络转发与代理(连接复用+池化技术+SO_REUSEPORT,中转耗时<1ms,抗高并发); 黑白名单,ip限流;应用场景:水平扩展微服务等等.

网关架构图:

应用场景

  • 服务器监控
  • CI/CD
  • docker管理
  • 服务器可执行文件部署与进程管理
  • 服务器在线操作
  • 网关服务

下载地址

  • master
日期版本地址版本说明支持平台
20221111v0.2commander.mange.work/downloadv0.2 见里程碑linux/unix, windows, MACOS
20221024v0.1commander.mange.work/downloadv0.1 见里程碑linux/unix, windows, MACOS
  • slave
日期版本地址版本说明支持平台
20221111v0.2commander.mange.work/downloadv0.2 见里程碑linux/unix, MACOS, windows(doing)
20221024v0.1commander.mange.work/downloadv0.1 见里程碑linux/unix, MACOS, windows(doing)

使用说明篇

教程视频: www.bilibili.com/video/BV1se… 使用文档: mange.work/blog?id=57 交流群: mange.work/blog?id=56

1. 部署

部署Master

下载并在Master服务器上执行 ./master 即可

配置文件说明

# http server 端口
httpServer:
  prod: 18888

# udp server 端口
udpServer:
  prod: 16666

# tcp server 端口
tcpServer:
  prod: 17777

# 可执行文件保存路径
exeStoreHousePath: "/media/data/exeStoreHouse"

# 项目的可执行文件保存路径
projectPath: "/media/data/projectPath"

# JWT  secret & expire
jwt:
  secret: asdasd786251ashdgjdbd
  expire: 86400

# 数据持久化保存路径
# data 常规数据持久化
# performance 性能采集持久化
dbPath:
  data: "/media/data/master_db/data.db"
  performance: "/media/data/master_db/performance.db"

部署Slave

例如: 拥有四台服务器, 192.168.0.9, 192.168.0.190, 192.168.0.191, 192.168.0.192

  1. 下载 slave_linux, 分别上传到每个服务器上
root@mange-PC:/home/mange# scp -r 'slave_linux_v0.1.2' 192.168.0.190:/home/
root@192.168.0.190's password: 
slave_linux                                                                                        100%   12MB  39.7MB/s   00:00    
configs.yaml                                                                                       100%  485   462.0KB/s   00:00    
root@mange-PC:/home/mange# scp -r 'slave_linux_v0.1.2' 192.168.0.191:/home/
root@192.168.0.191's password: 
slave_linux                                                                                        100%   12MB  39.9MB/s   00:00    
configs.yaml                                                                                       100%  485   453.8KB/s   00:00    
root@mange-PC:/home/mange# scp -r 'slave_linux_v0.1.2' 192.168.0.192:/home/
root@192.168.0.192's password: 
slave_linux                                                                                        100%   12MB  61.5MB/s   00:00    
configs.yaml                                                                                       100%  485   543.4KB/s   00:00    
root@mange-PC:/home/mange# 

  1. 在各个服务器上修改配置 configs.yaml
# master UDP 通讯地址
master:
  host: 192.168.0.9
  port: 16666

# master HTTP通讯地址
masterHttp: "http://192.168.0.9:18888"

# 可执行文件保存路径
exeStoreHousePath: "/home/exeStoreHousePath_Linux/"

# 可执行文件日志保存路径
exeStoreHouseLogs: "/home/exeStoreHouseLogs/"

# 项目的可执行文件保存路径
projectExeStoreHousePath: "/home/projectExeStoreHousePath_Linux/"

# 数据持久化保存路径
dbPath:
  data: "/home/slave_linux_db/data.db"
  1. 执行 ./slave_linux
看见日志有打印主机信息则启动成功

2022-10-19 22:24:35 |Info  |f=slave_linux/handler/host.go:48 | 主机名称 = node1
2022-10-19 22:24:35 |Info  |f=slave_linux/handler/host.go:51 | 系统平台 = linux
2022-10-19 22:24:35 |Info  |f=slave_linux/handler/host.go:54 | 系统版本 os_name+版号 = Linux version 3.10.0-1160.45.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Wed Oct 13 17:20:51 UTC 2021
2022-10-19 22:24:35 |Info  |f=slave_linux/handler/host.go:57 | 系统架构 = amd64
2022-10-19 22:24:35 |Info  |f=slave_linux/handler/host.go:60 | CPU核心数 = 8核
2022-10-19 22:24:35 |Info  |f=slave_linux/handler/host.go:63 | CPU name = Intel(R) Xeon(R) CPU           E5606  @ 2.13GHz

  1. 在master 首页上可见到Slave(服务器的信息)

软件图