ansible


自动化运维体系分为3个结构

安装操作系统:OS Provision

代表产品:PXE,cobbler

安装特定的文件:OS config

代表产品:puppet

执行特定的操作(命令):deployment

代表产品:ansible



ansible总体框架图:


wKiom1g-KFrDGdwWAAJgLrRJMHY747.png



ansible简介

1.基于模块工作,ansible只是一个框架

2.借助于插件完成记录日志邮件等功能;

3.连接插件connection plugins:负责和被监控端实现通信;

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

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

6.各种模块核心模块、command模块、自定义模块;


ansible特性:

1.不需要再被管控主机上安装任何agent

2.不需要服务器端,直接运行命令即可

3.基于模块工作,可使用第三方模块

4.基于ssh工作

5.使用yaml语言定制剧本



基本准备工作

1.时间要同步

2.主机互相




简单使用示例


node1:192.168.0.106 centos7.2

node2:192.168.0.110 centos7.2


[root@node1 ~]# yum -y install ansible --> 采用yum 安装ansible
[root@node1 ~]# rpm -q ansible  
ansible-2.2.0.0-3.el7.noarch --> 版本为ansible-2.2


[root@node1 ~]# rpm -ql ansible --> 简单查看生成的文件列表
/etc/ansible
/etc/ansible/ansible.cfg
/etc/ansible/hosts
/etc/ansible/roles
/usr/bin/ansible
/usr/bin/ansible-doc
/usr/bin/ansible-playbook


[root@node1 ~]# vim /etc/ansible/hosts --> 定义host inventory
[all]
192.168.0.106
192.168.0.110


[root@node1 ~]# ansible all -m ping --> 测试管理主机是否OK
192.168.0.106 | SUCCESS => {
    "changed": false, 
    "ping": "pong" --> 代表正常
}
192.168.0.110 | SUCCESS => { 
    "changed": false, 
    "ping": "pong"  --> 代表正常
}


wKiom1g-KOrQvIhiAAAU9tD-I4g622.png-wh_50


简单的命令使用帮助
# ansible <host-pattern> [-f fork] [-m module_name] [-a args]
# ansible-doc -l 查看所支持的所有模块 即 -m 后面的参数
# ansible-doc -s <模块名> 查看指定模块的参数 即 -a 后面的参数