一、簡介 當下有許多的運維自動化工具( 配置管理 ),例如:Ansible、SaltStack、Puppet、Fabric 等。 Ansible 一種集成 IT 系統的配置管理、應用部署、執行特定任務的開源平臺,是 AnsibleWorks 公司名下的項目,該公司由 Cobbler 及 Func 的 ...
一、簡介
當下有許多的運維自動化工具( 配置管理 ),例如: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版本會是最新版的。
未完待續。。