一、使用說明:
之前一直用的saltstack自動化管理工具,需要維護用戶端,而去批量執行時網絡延遲也是個很頭疼的問題,後來接觸到了ansible這個工具,不需要安裝用戶端,走的ssh的加密協定,比較友善。今天這裡說一下使用ansible自動化安裝nginx的操作。
二、實驗環境:
3台伺服器(centos 6.5 final版本):
三、安裝配置:
在192.168.1.193上面安裝ansible,可以直接用yum直接安裝,安裝之前,需要給yum添加個epel的源。
安裝好epel之後,就可以直接用yum安裝ansible了
裝好ansible,其它都不需要修改,隻需要将被控伺服器添加到hosts檔案裡面就好。
因為ansible通過ssh來控制被控伺服器,是以想要在控制伺服器時不需要輸入密碼,那麼就需要把192.168.1.193的公鑰放置到被控伺服器上面。操作方法如下:
先在192.168.1.193上面生成密鑰:
一直enter鍵就行了,将生成一個公鑰和私鑰。-p '' 表示空密碼。
然後将公鑰copy至被控伺服器,并寫入authorized_keys,這可以用一個指令一次性搞定:
ok,到這裡就可以用ansible測試一下了。
表示ansible可以無需輸入密碼控制194和195兩台伺服器了。
下面書寫playbook來自動化安裝nginx到194和195兩台伺服器上:
base-install.yml内容為:
nginx-install-common.yml内容為:
然後執行
這裡隻是檢查一下yml的文法是否正确,并沒有正确的執行。
檢查無誤,再執行:
就可以執行nginx的安裝操作了。大功告成。
四、注意說明:
這裡主要是為了讓大家熟悉ansible的安裝,初始化配置,已經playbook的文法
ansible在這裡做的主要是建立目錄,從193上面複制一些nginx安裝檔案,配置檔案到194和195上面
主要的安裝過程在auto_instal.sh腳本裡面,也就是建立使用者,編譯安裝,添加配置檔案的一些過程。