1、ansible简介node
Ansible是2013年推出的一款IT自动化和DevOps软件,目前由Redhat已签署Ansible收购协议。其是基于Python研发,糅合了不少老运维工具的优势实现了批量操做系统配置,批量程序的部署,批量运行命令等功能python
ansible可让咱们实现:linux
为何要选择ansible git
选择一款配置管理软件总的来讲,无外乎从如下几点来权衡利弊:编程
ansible优势:centos
仅须要ssh和Python便可使用,无客户端;ansible功能强大,模块丰富,上手容易门槛低,基于python 开发,作二次开发更容易,使用公司比较多,社区活跃。运维
ansible缺点: ssh
对于几千台、上万台机器的操做,还丌清楚性能、效率状况如何,须要迚一步了解。 编程语言
ansible特性: 模块化
1> 模块化设计,调用特定的模块来完成特定任务
2> 基于python语言实现
3> 其模块支持JSON等标准输出格式,可采用任何编程语言重写,部署简单,主从模式工做,支持自定义模块,支持playbook,易于使用,支持多层部署,支持异构IT环境
ansible大致执行过程 :
2、ansible安装
软件依赖关系 :
对管理主机要求Python 2.6 或 Python 2.7;ansible 使用了如下模块,都须要安装
对于被托管主机
ansible 能够基于源码运行;源码安装:
1> pip:须要配置扩展软件包源 extras
2> git:
yum install epel-release
yum install git python2-pip
3> pip安装依赖模块
pip install paramiko PyYAML Jinja2 httplib2 six
小插曲===>
初始化虚拟机的方法:
# cd /var/lib/libvirt/images/
# rm -rf node?.img //删除原有的虚拟机镜像
# for i in node{1..9};do qemu-img create -b source.qcow2 -f qcow ${i};done //建立几台虚拟机
# virsh -c qemu:///system
virsh # start node1
virsh # console node1
localhost login:root
密码:____
# sed -i 's,192.168.4.253,192.168.4.1,' /etc/sysconfig/network-scripts/ifcfg-eth0
# cd /etc/yum.repos.d/
# cat rhel7.repo
[epel_mirror]
name=epel
baseurl=http://mirrors.sohu.com/fedora-epel/7/x86_64/
enabled=1
gpgcheck=0
# cat 163.repo
[163_mirror]
name=epel
baseurl=http://mirrors.163.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0
<==小插曲
#########
####