1. 程式人生 > >自動化運維工具Ansible

自動化運維工具Ansible

mirrors fig 自動化 entos onf oot ear 實現 sea

一、簡介

當下有許多的運維自動化工具( 配置管理 ),例如:Ansible、SaltStack、Puppet、Fabric 等。

Ansible 一種集成 IT 系統的配置管理、應用部署、執行特定任務的開源平臺,是 AnsibleWorks 公司名下的項目,該公司由 Cobbler 及 Func 的作者於 2012 年創建成立。

Ansible 基於 Python 語言實現,由 Paramiko 和 PyYAML 兩個關鍵模塊構建。

二、特性

部署簡單,只需在主控端部署 Ansible 環境,被控端無需做任何操作。

支持Linux/UNIX及windows環境

默認使用 SSH(Secure Shell)協議對設備進行管理,用它來配置思科路由也非常方便。

主從集中化管理。
配置簡單、功能強大、擴展性強。
支持 API 及自定義模塊,可通過 Python 輕松擴展。
通過 Playbooks 來定制強大的配置、狀態管理。
對雲計算平臺、大數據都有很好的支持。
提供一個功能強大、操作性強的 Web 管理界面和 REST API 接口 ---- AWX 平臺。

三、總體架構

技術分享圖片

四、執行過程

技術分享圖片

五、Ansible 與 SaltStack對比

>> 最大的區別是 Ansible 無需在被監控主機部署任何客戶端代理,默認通過 SSH 通道進行遠程命令執行或下發配置。
>> 相同點是都具備功能強大、靈活的系統管理、狀態配置,都使用 YAML 格式來描述配置,兩者都提供豐富的模板及 API,對雲計算平臺、大數據都有很好的支持。

Ansible在github上地址:https://github.com/ansible

Ansible安裝部署與配置

角色 主機名 IP 組名

控制端 hd01 192.168.1.11 ——

被控端 hd02 192.168.1.12 webservers

被控端 hd03 192.168.1.13 webservers

Ansible安裝

安裝可使用源碼編譯安裝,也可以更新yum源後使用yum安裝

yum 安裝:

配置源(centos6)

yum install http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm -y

換163的源

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

mv CentOS6-Base-163.repo /etc/yum.repos.d/

yum clean all

CentOS6-Base-163.repo主要是為了安裝:PyYAML

配置源(centos7)
rpm -iUvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel//7/x86_64/e/epel-release-7-7.noarch.rpm
下載配置文件(centos7)
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo CentOS7-Base-163.repo主要是為了安裝:PyYAML
mv CentOS7-Base-163.repo /etc/yum.repos.d/

yum clean all

安裝ansible

yum -y install ansible


查看ansible 版本

[root@hd01 ~]# ansible --version

ansible 2.5.3

config file = /etc/ansible/ansible.cfg

configured module search path = [u‘/usr/share/my_modules‘]

ansible python module location = /usr/lib/python2.6/site-packages/ansible

executable location = /usr/bin/ansible

python version = 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)]

註:yum裝ansible 隨著時間的推移,ansible版本會是最新版的。

未完待續。。

自動化運維工具Ansible