自动化运维工具Ansible实战安装部署

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化运维工具Ansible实战安装部署相关的知识,希望对你有一定的参考价值。

1,基本介绍

  ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:

(1)、连接插件connection plugins:负责和被监控端实现通信;

(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;

(3)、各种模块核心模块、command模块、自定义模块;

(4)、借助于插件完成记录日志邮件等功能;

(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

                                                -----来源百度百科

2,基本架构

技术分享


3、基本特性

(1)、no agents:不需要在被管控主机上安装任何客户端;

(2)、no server:无服务器端,使用时直接运行命令即可;

(3)、modules in any languages:基于模块工作,可使用任意语言开发模块;

(4)、yaml,not code:使用yaml语言定制剧本playbook;

(5)、ssh by default:基于SSH工作;

(6)、strong multi-tier solution:可实现多级指挥。


4、优点

(1)、轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;

(2)、批量任务执行可以写成脚本,而且不用分发到远程就可以执行;

(3)、使用python编写,维护更简单,ruby语法过于复杂;

(4)、支持sudo。



5,执行流程


 (二)Ansible的安装与配置

1,安装相应的基础模块,建议使用yum直接安装(yum  install  python26 python26-PyYAML  python26-paramiko  python26-jinja2   python-simplejson  -y)。

[[email protected] .ssh]# yum  install  python26 python26-PyYAML  python26-paramiko  python26-ji
nja2   python-simplejson  
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.zju.edu.cn
 * updates: mirrors.163.com
Setting up Install Process
No package python26 available.
No package python26-PyYAML available.
No package python26-paramiko available.
No package python26-jinja2 available.
Resolving Dependencies
--> Running transaction check
---> Package python-simplejson.x86_64 0:2.0.9-3.1.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================================
 Package                      Arch              Version                   Repository       Size
================================================================================================
Installing:
 python-simplejson            x86_64            2.0.9-3.1.el6             base            126 k
Transaction Summary
================================================================================================
Install       1 Package(s)
Total download size: 126 k
Installed size: 437 k
Is this ok [y/N]: y
.


2.下载ansible(http://releases.ansible.com/ansible/)可在改页面选择相应的版本进行下载。

[[email protected] tmp]# wget http://releases.ansible.com/ansible/ansible-2.2.0.0.tar.gz
--2016-11-23 18:06:35--  http://releases.ansible.com/ansible/ansible-2.2.0.0.tar.gz
正在解析主机 releases.ansible.com... 104.25.170.30, 104.25.171.30, 2400:cb00:2048:1::6819:ab1e, ...
正在连接 releases.ansible.com|104.25.170.30|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2441851 (2.3M) [application/x-gzip]
正在保存至: “ansible-2.2.0.0.tar.gz”
100%[======================================================>] 2,441,851   1.36M/s   in 1.7s    
2016-11-23 18:06:42 (1.36 MB/s) - 已保存 “ansible-2.2.0.0.tar.gz” [2441851/2441851])


3,解压下载的文件并安装

[[email protected] tmp]# tar xf ansible
ansible-2.2.0.0.tar.gz  ansible.cfg             
[[email protected] tmp]# tar xf ansible-2.2.0.0.tar.gz 
[[email protected] tmp]# cd ansible-2.2.0.0
[[email protected] ansible-2.2.0.0]# python setup.py 
bin/          COPYING       lib/          packaging/    setup.cfg     
CHANGELOG.md  docs/         Makefile      PKG-INFO      setup.py      
contrib/      examples/     MANIFEST.in   README.md     VERSION       
[[email protected] ansible-2.2.0.0]# python setup.py install
........
Using /usr/lib/python2.6/site-packages/Jinja2-2.6-py2.6.egg
Searching for paramiko==1.7.5
Best match: paramiko 1.7.5
Adding paramiko 1.7.5 to easy-install.pth file

Using /usr/lib/python2.6/site-packages
Finished processing dependencies for ansible==2.2.0.0


本文出自 “清风明月” 博客,请务必保留此出处http://liqingbiao.blog.51cto.com/3044896/1875921

以上是关于自动化运维工具Ansible实战安装部署的主要内容,如果未能解决你的问题,请参考以下文章

自动化运维工具ansible实战第四章一键部署msql主从,redis主从,mongodb主从

实战|使用自动化运维工具Ansible集中化管理服务器

Ansible自动化运维实战在docker环境部署ansible管理平台awx

自动化运维工具ansible实战第一章

自动化运维工具ansible实战第一章

自动化运维工具Ansible实战Playbooks剧本使用