1. 程式人生 > >自動化編排工具(Ansible)

自動化編排工具(Ansible)

一、ansible介紹: ansible是新出現的自動化運維工具,基於Python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程式部署、批量執行 命令等功能。支援linux、BSD、MacOS等, 支援openstack 、docker等結合使用。

Ansible核心元件說明: Ansible:Ansible的核心程式 Host Inventory:記錄了每一個由Ansible管理的主機資訊,資訊包括ssh埠,root帳號密碼,ip地址等等。可以通過file來載入,可以通過CMDB載入 Playbooks:YAML格式檔案,多個任務定義在一個檔案中,使用時可以統一呼叫,“劇本”用來定義那些主機需要呼叫那些模組來完成的功能. Core Modules:Ansible執行任何管理任務都不是由Ansible自己完成,而是由核心模組完成;Ansible管理主機之前,先呼叫core Modules中的模組,然後指明管理Host Inventory中的主機,就可以完成管理主機。 Custom Modules:自定義模組,完成Ansible核心模組無法完成的功能,此模組支援任何語言編寫。 Connection Plugins:連線外掛,Ansible和Host通訊使用

ansible 特性: ①不需要安裝客戶端(支援ssh) ②不需要啟動服務(ansible) ③基於模組工作,可以使用任意語言開發模組 ④基於ssh工作( 基於金鑰認證) ⑤YAML格式,編排任務,支援豐富的資料結構(劇本playbook) ⑥使用python編寫,維護簡單 二、Ansible的安裝部署: 1.安裝ansible:

[[email protected] ~]# yum install -y epel*
[[email protected] ~]# yum install -y ansible
[[email protected] ~]# rpm -qc ansible  //查詢到ansible的配置檔案
/etc/ansible/ansible.cfg
/etc/ansible/hosts

2.配置ansible:

[[email protected] ~]# vim /etc/ansible/hosts    //修改ansible的主配置檔案
192.168.48.131      //新增一個被管理主機
[[email protected] ~]# ssh-keygen -t rsa    //生成祕鑰
[[email protected] ~]# ssh-copy-id -i 192.168.48.131  //把公鑰拷貝給被管理端主機
[[email protected] ~]# ansible 192.168.48.131 -m ping

成功連線