原创 Python自動化運維之ansible的Haproxy+LAMP+Nagios經典案例說明之common角色

 一 點睛 實例劃分了6個角色,包括base-apache、common、db、 haproxy、nagios、web,分別對應6個功能環境部署,本篇介紹common角色 二 common角色   1 點睛 common的主要功能是部署、

原创 Python自動化運維之ansible的Haproxy+LAMP+Nagios經典案例角色說明

一 haproxy角色 1 點睛 haproxy角色主要實現了haproxy平臺的部署、配置功能。 2 roles/haproxy/tasks --- # This role installs HAProxy and configure

原创 Python自動化運維之ansible的Haproxy+LAMP+Nagios經典案例說明(上)

一 目錄結構圖 [root@localhost lamp_haproxy]# tree . ├── group_vars │ ├── all │ ├── dbservers │ ├── lbservers │ └── w

原创 Python自動化運維之ansible的條件語句和循環語句

一 條件語句 1 點睛 有時候一個playbook的結果取決於一個變量,或者取決於上一個任 務(task)的執行結果值,在某些情況下,一個變量的值可以依賴於其他變量的值,當然也會影響Ansible的執行過程。 2 when聲明 2.1 點

原创 Python的系統批量運維管理器Fabric介紹

一 點睛 Fabric是基於Python(2.5及以上版本)實現的SSH命令行工具,簡化了SSH的應用程序部署及系統管理任務,它提供了系統基礎的操作組件,可以實現本地或遠程shell命令,包括命令執行、文件上傳、下載及 完整執行日誌輸出等

原创 Python自動化運維之Ansible的變量

一 點睛 在實際應用場景中,我們希望一些任務、配置根據設備性能的不同而產生差異,比如使用本機CPU核數動態配置Nginx的worker_processes參數,可能有一組主機的應用配置文件幾乎相同,但略有不同的配置項可以引用變量。在Ans

原创 Python自動化運維之Ansible定義主機與組規則

一 點睛 Ansible通過定義好的主機與組規則(Inventory)對匹配的目標主機進行遠程操作,配置規則文件默認是/etc/ansible/hosts。 二 定義主機與組 所有定義的主機與組規則都在/etc/Ansible/hosts

原创 Python自動化運維之playbook角色實戰

一 點睛 本實戰有兩個角色,一個是web角色,一個是公共類角色common。 common角色是從角色全局作用域中抽取出公共的部分,一般爲系統的基礎服務,比如ntp、iptables、selinux、sysctl等。本實戰是針對ntp服務

原创 Fabric的fabfile的編寫詳解

一 點睛 fab命令是結合我們編寫的fabfile.py(其他文件名須添加-f filename 引用)來搭配使用的,部分命令行參數可以通過相應的方法來代替,使之更加靈活,例如“-H 192.168.1.21,192.168.1.22”,

原创 Fabric實現查看本地與遠程主機信息

一 點睛 本實戰調用local()方法執行本地(主控端)命令,添加“@runs_once”修飾符保證該任務函數只執行一次。調用run()方法執行遠程命令。 二 代碼 #coding=utf-8 #!/usr/bin/env python

原创 python自動化之Ansible常用模塊及API(下)

一 get_url模塊 1 功能 實現在遠程主機下載指定URL到本地,支持sha256sum文件校驗。 2 舉例 [root@localhost home]# ansible webservers -m get_url -a "url=

原创 Python實現堡壘機模式下的遠程文件上傳

一 點睛 實現堡壘機模式下的文件上傳,原理是通過paramiko的SFTPClient將文件從辦公設備上傳至堡壘機指定的臨時目錄,如/tmp,再通過SSHClient的invoke_shell方法開啓ssh會話,執行scp命令,將/tmp

原创 Python自動化運維之獲取遠程主機系統信息——Facts組件簡介

一 點睛 Facts是一個非常有用的組件,實現獲取遠程主機的系統信息,包括主機名、IP地址、操作系統、分區信 息、硬件信息等,可以配合playbook實現更加個性化、靈活的功能需求,比如在httpd.conf模板中引用Facts的主機名信

原创 Fabric實現網關模式文件上傳與執行

一 點睛 本實戰通過Fabric的env對象定義網關模式,即俗稱的中轉、堡壘機環境。 定義格式爲“env.gateway='192.168.0.105'”,其中 IP“192.168.0.105”爲堡壘機IP,再結合任務函數實現目標主機文

原创 python自動化之Ansible常用模塊及API(上)

一 點睛 Ansible提供了非常豐富的功能模塊,包括Cloud(雲計算)、 Commands(命令行)、Database(數據庫)、Files(文件管理)、 Internal(內置功能)、Inventory(資產管理)、Messagin