Spug:开源自动化运维平台教程资源LinuxServer

印迹4月前 198

关于运维

不管大小公司,运维面对最多的工作就是发布部署,近些年各种运维自动化工具也越来越多,运维自动化每个人都有一套自己的理解,那么中小公司一般都怎么做运维自动化呢?

我们先看一下中小企业面临的问题:

1、人员有限,小一点的公司专业运维可能没有,开发自己上线,也有可能1-2个运维人员,基本不会投入专门的运维开发来开发运维自动化平台。

2、服务器少,可能不超过50台服务器。

3、版本更新迭代比较快,需要快速方便的发布回滚。

中小企业运维自动化常见做法:

1、Gitlab+Jenkins,创建Jenkins任务,使用Jenkins登录服务器执行脚本实现发布,配合服务器多个脚本实现对服务器管理。

2、Gitlab+Jenkins+Ansible,使用Jenkins调用Ansible登录服务器执行脚本实现代码的发布,平时服务器管理使用Anaible进行服务器管理。

3、K8S平台,使用K8s发布平台,打包应用Docker镜像,通过K8s发布到线上。

4、使用开源的运维自动化平台发布管理,Github上有很多优秀的开源项目,可以使用。

虽然可以通过上面的几种方法把发布和经常操作的都实现自动化,但是避免不了登录服务器操作命令、配置任务计划,修改应用配置文件,配置服务器监控等。那么有没有开源平台可以很方便的实现上面说到的这些功能呢?

Spug简介

Spug是一款使用Python+Flask+Vue+Element组件开发的开源运维管理系统,系统前后端分离,帮助中小型企业完成主机、任务、发布部署、配置文件、监控、报警等管理。

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

    官网地址:https://www.spug.dev    
    使用文档:https://www.spug.dev/docs/about-spug/    
    更新日志: https://www.spug.dev/docs/change-log/    
    常见问题:https://www.spug.dev/docs/faq/
    开源地址:https://github.com/openspug/spug
标准安装模式:

依赖环境

    Python 3.6及以上
    Nodejs 12.14 TLS
    Redis 3.x及以上
    现代浏览器

安装步骤

以下安装步骤假设项目安装在一台 macOS 系统的 /data/spug 目录下。

1. Clone项目代码

$ git clone https://github.com/openspug/spug /data/spug

2. 创建运行环境

$ cd /data/spug/spug_api
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -r requirements.txt -i https://pypi.doubanio.com/simple/

3. 初始化数据库

默认使用的 Sqlite 数据库。

$ python manage.py initdb

4. 创建默认管理员账户

$ python manage.py useradd -u admin -p spug.dev -s -n 管理员
# -u 用户名
# -p 密码
# -s 超级管理员
# -n 用户昵称

5. 启动 api 开发环境服务

$ python manage.py runserver

6. 安装前端依赖

可以把 npm 用 yarn 或 cnpm 代替。

$ cd /data/spug/spug_web
$ npm install --registry=https://registry.npm.taobao.org

7. 启动前端

$ npm start

8. 访问测试

正常情况下 npm start 会自动在浏览器中打开项目,如果未打开可以在浏览器中输入 http://localhost:3000 访问。
如果你按照上边的文档执行的话,在第 4 步创建了默认的管理员账户:

用户名:admin  
密码:spug.dev

9. 其他可选服务

通过以上步骤已经可以正常访问 Spug 了

Docker安装模式:

1. 安装docker

$ yum install docker
$ systemctl start docker

2. 拉取镜像,    阿里云的镜像与 Docker hub 同步更新,国内用户建议使用阿里云的镜像。

$ docker pull registry.aliyuncs.com/openspug/spug

3. 启动容器,Docker镜像内部使用的 Mysql 数据库。 如果需要持久化存储代码和数据,可以添加:-v 映射容器内/data路径

$ docker run -d --name=spug -p 80:80 registry.aliyuncs.com/openspug/spug

# 持久化存储启动命令:

# mydata是本地磁盘路径,/data是容器内代码和数据初始化存储的路径

$ docker run -d --name=spug -p 80:80 -v /mydata/:/data registry.aliyuncs.com/openspug/spug

4. 初始化

以下操作会创建一个用户名为 admin 密码为 spug.dev 的管理员账户,可自行替换管理员账户。

$ docker exec spug init_spug admin spug.dev

# 执行完毕后需要重启容器

$ docker restart spug

4. 访问测试

在浏览器中输入 http://localhost:80 访问。

用户名: admin  
密码: spug.dev
演示环境
演示地址:https://demo.spug.dev
演示账号: admin 
演示密码:spug
特性

    批量执行: 主机命令在线批量执行

    在线终端: 主机支持浏览器在线终端登录

    文件管理: 主机文件在线上传下载

    任务计划: 灵活的在线任务计划

    发布部署: 支持自定义发布部署流程

    配置中心: 支持KV、文本、json等格式的配置

    监控中心: 支持站点、端口、进程、自定义等监控

    报警中心: 支持短信、邮件、钉钉、微信等报警方式

    优雅美观: 基于 Ant Design 的UI界面

    开源免费: 前后端代码完全开源

环境
    Python 3.6+
    Django 2.2
    Node 12.14
    React 16.11


http://www.virplus.com/thread-1348.htm

转载请注明:4月前 于 Virplus.com 发表

推荐阅读
最新回复 (0)

    ( 登录 ) 后,可以发表评论!

    返回