自運(yùn)維平臺(tái)并執(zhí)行首個(gè)運(yùn)維任務(wù))
10分鐘快速上手devEops從零搭建開發(fā)自運(yùn)維平臺(tái)并執(zhí)行首個(gè)運(yùn)維任務(wù)【免費(fèi)下載鏈接】DevOps:smiley:DevOps System - :heart:devEops:heart: - 開發(fā)自運(yùn)維平臺(tái) - 運(yùn)維體系解決方案適用于多個(gè)應(yīng)用環(huán)境的資產(chǎn)組織以及運(yùn)維腳本的適配運(yùn)行。項(xiàng)目地址: https://gitcode.com/gh_mirrors/devops84/DevOpsdevEops 是一款開源的開發(fā)自運(yùn)維平臺(tái)專注于 IT 資源信息整合與自動(dòng)化運(yùn)維。它把資產(chǎn)、應(yīng)用、密鑰、域名、運(yùn)維任務(wù)統(tǒng)一管理起來幫你把零散的運(yùn)維腳本變成可復(fù)用、可授權(quán)、可追溯的標(biāo)準(zhǔn)化流程。本文是一份面向新手的 devEops 快速上手教程10 分鐘即可完成部署并順利執(zhí)行你的第一個(gè)運(yùn)維任務(wù)讓自動(dòng)化運(yùn)維從口號(hào)變成現(xiàn)實(shí)。 devEops 是什么開發(fā)自運(yùn)維平臺(tái)的核心能力一覽devEopsDevelopment Eops致力于解決運(yùn)維工作中最普遍的痛點(diǎn)信息散落、操作靠人、權(quán)限難控。它基于 Django 與 rest-framework 構(gòu)建前后端分離開箱即用地提供了運(yùn)維體系解決方案的常用模塊核心模塊功能亮點(diǎn) 資產(chǎn)信息管理對(duì)接 VMware、阿里云自動(dòng)拉取信息入庫(kù)支持按任意條件檢索主機(jī)?? 元操作與任務(wù)基于 Ansible 模型將運(yùn)維腳本存庫(kù)復(fù)用從 CMDB 動(dòng)態(tài)導(dǎo)出主機(jī)與參數(shù)執(zhí)行 工單系統(tǒng)按權(quán)限發(fā)布工單通過 WebSocket 實(shí)時(shí)回傳執(zhí)行結(jié)果過程全程可追溯 密鑰管理服務(wù)端生成 SSH-RSA 密鑰私鑰加密入庫(kù)僅在運(yùn)維操作時(shí)動(dòng)態(tài)解析使用 域名管理樹狀結(jié)構(gòu)管理域名定時(shí)解析校驗(yàn)支持正反向查詢 數(shù)據(jù)看板按資產(chǎn)來源、系統(tǒng)類型、運(yùn)維操作等維度圖表化統(tǒng)計(jì)每周生成靜態(tài)報(bào)告? 安全體系Google Authenticator 二次驗(yàn)證 區(qū)分開發(fā)/運(yùn)維人員的細(xì)粒度權(quán)限 一句話總結(jié)devEops 是“以資產(chǎn)和應(yīng)用信息為中心”的自運(yùn)維平臺(tái)所有運(yùn)維操作都建立在高一致性的信息整合之上。? 搭建前的準(zhǔn)備工作環(huán)境依賴與資源清單在開始安裝前先確認(rèn)你的服務(wù)器滿足以下條件避免中途踩坑操作系統(tǒng)建議 CentOS 7 或其他主流 Linux 發(fā)行版Python3.5 及以上版本數(shù)據(jù)庫(kù)MySQL需要提前建好庫(kù)例如deveops_v3緩存Redis基礎(chǔ)編譯工具openssl-devel、python3-devel、openldap-devel用于安裝部分依賴 如果你還沒有安裝 MySQL 和 Redis請(qǐng)先完成這兩個(gè)服務(wù)的啟動(dòng)與賬號(hào)配置后續(xù)配置階段需要用到它們的連接信息。? 快速安裝教程開發(fā)自運(yùn)維平臺(tái) 10 分鐘部署步驟第一步獲取 devEops 源碼將項(xiàng)目克隆到本地目錄git clone https://gitcode.com/gh_mirrors/devops84/DevOps cd DevOps第二步安裝系統(tǒng)依賴與 Python 第三方庫(kù)yum install openssl-devel python3-devel openldap-devel pip install -r requirements.txt第三步調(diào)整 SSH 連接屬性devEops 需要通過 SSH 對(duì)主機(jī)執(zhí)行運(yùn)維操作請(qǐng)修改/etc/ssh/ssh_config注意是ssh_config而非sshd_config關(guān)閉指紋識(shí)別避免首次連接時(shí)交互卡住vim /etc/ssh/ssh_config # 添加以下內(nèi)容后保存退出 StrictHostKeyChecking no第四步修改平臺(tái)配置文件打開deveops/conf.py這里面包含所有數(shù)據(jù)庫(kù)連接信息與定時(shí)任務(wù)配置請(qǐng)?zhí)鎿Q為你自己的 MySQL、Redis 連接參數(shù)。第五步初始化數(shù)據(jù)庫(kù)表結(jié)構(gòu)python manage.py makemigrations python manage.py migrate建議再執(zhí)行一步“去外鍵”操作刪除表結(jié)構(gòu)中的外鍵約束以減少運(yùn)行過程中的鎖爭(zhēng)用、降低死鎖概率讓數(shù)據(jù)更解耦select concat(alter table ,table_schema,.,table_name, drop foreign key ,CONSTRAINT_NAME,;) from INFORMATION_SCHEMA.KEY_COLUMN_USAGE where table_schemadeveops_v3 and REFERENCED_TABLE_NAME is not null into outfile /tmp/fk_1.sql;第六步啟動(dòng)服務(wù) python manage.py runserver 服務(wù)默認(rèn)啟動(dòng)在8000 端口瀏覽器訪問即可看到 devEops 的登錄界面。建議再用 Nginx 做一層反向代理并務(wù)必限制project/media目錄的訪問權(quán)限防止敏感信息泄露。 平臺(tái)初體驗(yàn)配置資產(chǎn)、密鑰與權(quán)限登錄后按以下順序完成“地基”配置平臺(tái)才能真正用起來導(dǎo)入資產(chǎn)通過 VMware / 阿里云 API 自動(dòng)拉取主機(jī)信息入庫(kù)再由運(yùn)維人員歸類到應(yīng)用組定義應(yīng)用組為應(yīng)用組關(guān)聯(lián)跳板機(jī)與密鑰應(yīng)用組參數(shù)會(huì)作為全局變量注入后續(xù)運(yùn)維操作生成密鑰在密鑰管理中使用服務(wù)器端生成的 SSH-RSA 密鑰私鑰加密入庫(kù)安全可控配置權(quán)限利用平臺(tái)內(nèi)置認(rèn)證體系為開發(fā)人員和運(yùn)維人員分配不同的資產(chǎn)與操作權(quán)限完成這一步你的資產(chǎn)信息就形成了統(tǒng)一、準(zhǔn)確、可檢索的 CMDB這也是整個(gè)自運(yùn)維平臺(tái)運(yùn)轉(zhuǎn)的地基。? 如何執(zhí)行第一個(gè)運(yùn)維任務(wù)元操作 工單實(shí)戰(zhàn)這是 devEops 最核心的亮點(diǎn)整個(gè)流程只需三步第 1 步定義元操作—— 把你的 Ansible 腳本直接存入數(shù)據(jù)庫(kù)作為可復(fù)用的“元操作”支持選擇執(zhí)行的主機(jī)范圍。第 2 步組合任務(wù)—— 在某個(gè)應(yīng)用組下將若干元操作組合成一個(gè)任務(wù)任務(wù)會(huì)自動(dòng)從 CMDB 中導(dǎo)出需要執(zhí)行的主機(jī)列表與參數(shù)列表。第 3 步發(fā)布并執(zhí)行工單—— 用戶根據(jù)自身權(quán)限發(fā)布工單選擇工單后點(diǎn)擊執(zhí)行系統(tǒng)會(huì)建立 WebSocket 連接將每一臺(tái)主機(jī)的執(zhí)行結(jié)果實(shí)時(shí)推送到頁面。整個(gè)過程從“人肉敲命令”變成“點(diǎn)幾下按鈕”執(zhí)行記錄自動(dòng)留存審計(jì)與回溯都變得輕松。 常見問題與避坑指南端口被占用8000 端口被其他服務(wù)占用時(shí)可改用python manage.py runserver 0.0.0.0:8080指定新端口SSH 連接失敗請(qǐng)確認(rèn)修改的是ssh_config而非sshd_config并已重啟 sshd 或重新加載配置依賴安裝報(bào)錯(cuò)多為缺少編譯頭文件導(dǎo)致補(bǔ)齊openssl-devel、python3-devel、openldap-devel即可數(shù)據(jù)表沖突多環(huán)境遷移時(shí)注意庫(kù)名與conf.py中配置保持一致避免外鍵去重腳本執(zhí)行失敗安全提醒生產(chǎn)環(huán)境務(wù)必使用 Nginx 代理并限制media目錄訪問同時(shí)為賬號(hào)開啟二次驗(yàn)證 結(jié)語讓自運(yùn)維平臺(tái)成為你的運(yùn)維標(biāo)配通過本文的 devEops 快速上手教程你已經(jīng)完成了從環(huán)境準(zhǔn)備、源碼部署、數(shù)據(jù)庫(kù)初始化到執(zhí)行首個(gè)運(yùn)維任務(wù)的全流程10 分鐘搭建開發(fā)自運(yùn)維平臺(tái)不再是難事。接下來你可以繼續(xù)深入探索域名管理、數(shù)據(jù)看板與細(xì)粒度權(quán)限體系把日常運(yùn)維工作逐步遷移到這套自動(dòng)化運(yùn)維平臺(tái)上。開源自運(yùn)維平臺(tái)的價(jià)值只有在持續(xù)使用中才會(huì)真正體現(xiàn)——現(xiàn)在就動(dòng)手試試吧【免費(fèi)下載鏈接】DevOps:smiley:DevOps System - :heart:devEops:heart: - 開發(fā)自運(yùn)維平臺(tái) - 運(yùn)維體系解決方案適用于多個(gè)應(yīng)用環(huán)境的資產(chǎn)組織以及運(yùn)維腳本的適配運(yùn)行。項(xiàng)目地址: https://gitcode.com/gh_mirrors/devops84/DevOps創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考