自動化運維 Spug 輕量級自動化運維平台

2021-10-14 16:17:21 字數 2556 閱讀 1409

對於中小型企業而言,進行主機和應用的管理是比較麻煩的,應用部署往往需要直接連線伺服器,再進行手動的環境配置、**拉取、應用構建和部署發布等工作,容易出錯,且耗時費力。乙個好的自動化運維平台,往往能大大節省人力物力,提高開發部署效率。spug,正是乙個面向中小型企業設計的輕量級自動化運維平台。

spug,是 openspug 在 github 上開源的自動化運維平台,專案位於 同時在 gitee 上維護,專案位於 目前版本為 v2.3.9。

$ docker pull registry.aliyuncs.com/openspug/spug
$ docker run -d --restart=always --name=spug -p 80:80 registry.aliyuncs.com/openspug/spug
預設使用映象內部的 mysql 資料庫,如果有資料持久化的需求,可以進行資料對映:

$ docker run -d --restart=always --name=spug -p 80:80 -v /mydata/:/data registry.aliyuncs.com/openspug/spug
然後,建立管理員帳號:

$ docker exec spug init_spug $ docker restart spug
此時,服務已經部署完成,訪問 http://localhost:80 即可訪問。

$ git clone  /data/spug
然後,建立 python 執行環境:

$ cd /data/spug/spug_api$ python3 -m venv venv$ source venv/bin/activate$ pip install -r requirements.txt -i
初始化資料庫,預設使用 sqlite,並建立管理員帳號:

$ python manage.py initdb$ python manage.py useradd -u admin -p spug.dev -s -n 管理員
啟動後端 api 服務:

$ python manage.py runserver
前端使用 react 的 antd 開發,安裝依賴後啟動:

$ cd /data/spug/spug_web$ npm install --registry= npm start
此時,就完成了開發環境的手動部署。

部署完成後,spug 主要在 web 後台進行使用。spug 後台主要包括:工作台、主機管理、批量執行、應用發布、任務計畫、配置中心、監控中心、報警中心和系統管理模組。

主機,代表著應用最終部署的伺服器,通過 ssh 公鑰的方式,與 spug 服務進行互動。spug 後台可以進行主機的新增和配置,並可以批量執行命令,方便進行環境配置等:

spug 通過應用來進行部署的基本管理。乙個應用,是乙個需要部署的應用或服務的不同版本的集合:

當我們需要部署乙個應用時,需要進行發布申請,對於目標應用,選擇發布環境,以及 git 倉庫的版本(分支,或標籤),和需要發布的目標主機等,提交乙個新的發布。

spug 提供了不同階段的自定義指令碼,來實現自動化部署:

spug 還支援計畫任務,可以配置定時的指令碼任務,實現服務狀態檢查等工作:

spug 提供了監控中心,可以建立監控任務,對應用狀態進行定時檢測,如對埠進行定時的開放檢測,對站點進行定時的連通檢測等:

spug 後台還可以進行功能許可權設定,可以進行團隊內部不同職責人員的許可權管理:

spug 作為乙個自動化運維平台,相對而言比較輕量,無需複雜的配置,就可以完成服務的部署,並通過簡單的應用管理和發布申請,完成不同部署專案的版本管理,實現自動化的發布流程,以及版本回滾等,並提供了批量化的指令碼支援多主機配置,提供定時任務實現狀態檢測,提供自動的警報系統實現異常管理等,基本滿足了自動化部署的需求,值得嘗試使用。目前,spug 專案仍處於積極開發階段,專案作者正徵集想要支援的新特性,有興趣的開發者不妨參與開源貢獻。

運維工具之輕量級自動化運維工具Fabric原始碼安裝

在運維工作中,經常會遇到重複性的勞動,這個時候為了效率就必須要使用自動化運維工具。這裡我給大家介紹輕量級自動化運維工具fabric,fabric是基於python語言開發的,是開發同事的最愛。為了方便自動化運維,經常會將fabric部署在跳板機上。之所以部署跳板機是基於幾點考慮的 安裝fabric時...

運維自動化

1,cobbler安裝環境準備 安裝epel epel release 6 8.noarch.rpm x86 64 epel release 6 8.noarch.rpm x86 安裝系列依賴環境 要是區域網用,建議關閉iptables 或是放行25151 80 69埠 和關閉selinux 檢視狀...

自動化運維

考慮的因素 源 打包為映象 發布到映象庫 利用k8s發布到物理機器執行,以服務的形式對外提供服務 目前的做法 0 建立乙個執行遠端命令的框架 1 每個應用建立乙個部署檔案指令碼 a 指定元 位址 c 同步源 到目標主機 d 接受指令碼引數 vername 2 版本號,映象tag fromport 3...