Docker 部署Spug轻量级自动化运维平台

网友投稿 1882 2022-10-04

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Docker 部署Spug轻量级自动化运维平台

0x01  什么是spug?

Spug是面向中小型企业设计的轻量级无Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。

0x02 部署安装

Spug部署很简单,在Docker中部署,基本也就是一行docker 命令而已,生产环境推荐使用docker部署

#首先在/目录下创建data/spug目录mkdir -p data/spug#从阿里云拉取spug镜像后台运行,挂载容器内data目录到本地/data/spug目录实现数据持久化docker run -d --restart=always --name=spug -p 80:80 -v data/spug:/data registry.aliyuncs.com/openspug/spug#新建管理员帐号admin密码passwd1!docker exec spug init_spug admin passwd1!#重新启动容器spugdocker restart spug

至此,spug已部署完成,可通过浏览器进入http://localhost 进入后台,使用刚新建的admin帐号密码登录

0x03 登录使用

登录进入后台,进入页面如下

新建主机,添加主机类别,输入主机名称,ssh连接信息等

此处,如主机配置为密钥登录,可上传密钥到spug,如没有输入完用户名,ip后直接验证,会提示输入密码

添加完成后,即可通过spug console执行登录终端操作,以及图形化上传文件等

依次添加完成主机之后,可通过spug批量执行命令

可以通过定制模版,直接从模版中选择脚本或命令行执行,也可直接通过手动输入命令执行

执行如下

0x04 配置报警

首先进入报警中心,新建报警联系人与联系组

钉钉与企业微信机器人可通过查找相关官方开发文档接入,因未使用企业微信与钉钉,未做演示

然后再新建报警联系组,将刚新建的用户加入到组里

可按自己需求添加,包括站点检测[检测http或https状态码],端口检测,进程检

测,ping连通性检测,以及自定义脚本

下一步之前,可以先执行测试一下

监控频率,报警阈值可按自己实际生产需求设定,报警方式勾选,此处只做了微信的报警,勾选微信,然后提交

查看报警效果

手动将服务停止后,监控中心显示服务异常,随后触发微信报警

微信报警页面

0x05 任务计划

可通过spug 对多主机批量定制执行任务计划

触发器类型可实际需求选择,支持unix cron计划

0x06 应用发布等功能

当需要部署应用时,需要进行发布申请,对于目标应用,选择发布环境,以及 Git 仓库的版本(分支,或标签),和需要发布的目标主机等,提交一个新的发布。

Spug 提供了不同阶段的自定义脚本,来实现自动化部署

代码检出前执行,是在 Spug 服务器上,在拉取代码前,进行环境配置等工作;代码检出后执行,是在拉取代码后,进行依赖安装、编译和构建等工作;应用发布前执行,是在目标主机上,进行旧应用的停止、运行环境配置等工作;应用发布后执行,是在把项目发布到目标主机后,进行应用的启动等。

其他功能待深度体验后,再进行分享,有兴趣的可以在gayhub搜索项目了解..

0x07 总结

总的来说,Spug 作为一个自动化运维平台,相对而言比较轻量,无需复杂的配置,就可以完成服务的部署,并通过简单的应用管理和发布申请,完成不同部署项目的版本管理,实现自动化的发布流程,以及版本回滚等,并提供了批量化的脚本支持多主机配置,提供定时任务实现状态检测,提供自动的警报系统实现异常管理等,基本满足了自动化部署的需求,值得尝试使用。

@Webpoplayer

上一篇:DevOps时代,运维和程序员已经合体,亦或运维还是继续做背锅侠?
下一篇:数据库智能运维高级探索与最佳实践
相关文章

 发表评论

暂时没有评论,来抢沙发吧~