Ansible介紹 ansible是新出現的自動化運維工具,基於Python開發,集合了衆多運維工具(puppet、cfengine、chef、func、fabric)的優勢,實現了批量系統配置、批量程序部署、批量運行命令等功能。 ansible是基於模塊工做的,自己沒有批量部署的能力。真正具備批量部署的是ansible所運行的模塊,ansible只是提供一種框架。主要包括: (1)、鏈接插件connection plugins:負責和被監控端實現通訊; (2)、host inventory:指定操做的主機,是一個配置文件裏面定義監控的主機; (3)、各類模塊核心模塊、command模塊、自定義模塊; (4)、藉助於插件完成記錄日誌郵件等功能; (5)、playbook:劇本執行多個任務時,非必需能夠讓節點一次性運行多個任務 實驗環境 服務端在主機ip 192.168.43.233 這邊我們控制了一臺主機 192.168.43.223``` 另外一臺主機只用安裝ansible就好了 ![](https://s1.51cto.com/images/blog/201908/14/9f10fa409f8a36da71e661836e9ccedb.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 服務端 下載ansible yum install -y ansible 首先使用ssh生成公鑰和私鑰 ssh-keygen -t rsa : 默認生成在root家目錄.ssh目錄下 ![](https://s1.51cto.com/images/blog/201908/14/d3c939332f03f06b513e0dff14cf213c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) ssh-copy-id -i 公鑰 root@192.168.43.223 而後輸入密碼下次登陸就不須要密碼了 成功登陸後exit退出來就好了 ![](https://s1.51cto.com/images/blog/201908/14/252f20b31bf1b6d1a3c34791e9705f52.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) ![](https://s1.51cto.com/images/blog/201908/14/fea727fda161cfff603354e9c2b10fb3.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 而後修改配置文件 vim /etc/ansible/hosts [webservers] #加一個組名 192.168.43.233 wq退出並保存 ![](https://s1.51cto.com/images/blog/201908/14/4f77c8c6c139b1daa50680311410f00a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) ![](https://s1.51cto.com/images/blog/201908/14/8138966873f4910cb48376a7ffc02094.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
ansible -m ping "組名" 來查看是否通,以下圖成功了web
![](https://s1.51cto.com/images/blog/201908/14/895f55c4e00a3df6839fcdf54940c3f6.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) ping成功就能夠直接操做另外一臺機器了 ![](https://s1.51cto.com/images/blog/201908/14/2723b530c4e8c58b2e81a3beda4e71da.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=) 服務就搭建完成了 而後主機就能夠對另外一臺機器進行操做 ansible webservers(組名) -u root -a(後面接參數)「reboot」 好比說讓這兩臺虛擬機重啓都是能夠的