一、介紹
1)運維工作流程
大數據時代高伸縮性、容錯性的特點給運維提出了更高的要求。系統管理不再是疲於安裝操作系統、對系統參數進行逐一配置與優化、打補丁、安裝軟件、配置軟件、添加某個服務的時代。爲了提高效率、避免重複勞動、減少錯誤、積累知識,系統管理員都已開始做一些局部的自動化工作。但這些還遠不夠, 爲了滿足運維需求,需要統一配置管理。
2)自己實現自動化:git+puppet
Puppet採用了非常簡單的C/S架構,所有數據的交互都通過SSL進行,以保證安全。
Git是一個開源的分佈式版本控制系統,每個開發者通過克隆(git clone),在本地機器上拷貝一個完整的Git倉庫。
puppet配置按照用途和業務分組,按照不同的分組創建g
it倉庫。也就是每個git倉庫對應着一個分組的puppet配置。
二、實現的功能
git管理puppet能夠實現的功能大致如下:
1.統一安裝、配置管理軟件
2.統一配置系統優化參數,修改配置文件
3.服務器重啓後,能讓服務器自動運行puppet定義的服務。
4.根據給git和puppet根據不同業務和用途的分組,實現對用戶的統一配置管理的權限控制。
5.git倉庫如果有更新,就自動給管理員發郵件提醒。
三、實現的流程
1、安裝軟件包:
使用自己製作的rpm包,通過puppet來編寫批量安裝軟件包的配置。然後通過git實現分發給puppet客戶端,執行安裝軟件。
2、配置文件修改
用戶通過本地安裝git客戶端,在本地機器上拷貝一個相應分組的Git倉庫。然後修改、增加、刪除puppet裏的配置文件,提交到遠程git倉庫。
git服務器先更新到本地puppet代碼庫,然後再推給git倉庫。
如果git有更新,git鉤子自動運行puppet文件,分發給客戶端(比如某某web服務器組)。
3、服務器重啓後,能讓服務器自動運行puppet定義的服務。
在客戶端/etc/rc.local文件裏添加執行site.pp文件的命令。就可以開機自動運行puppet定義的服務。
4、根據給git和puppet根據不同業務和用途的分組,實現對用戶的統一配置管理的權限控制。
對不同分組,給不同用戶的權限也是不同的。
5、git倉庫如果有更新,就自動給管理員發郵件提醒。
如果git有更新,git鉤子自動給管理員發郵件提醒。