ansible
自动化运维体系分为3个结构
安装操作系统:OS Provision
代表产品:PXE,cobbler
安装特定的文件:OS config
代表产品:puppet
执行特定的操作(命令):deployment
代表产品:ansible
ansible总体框架图:
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" --> 代表正常 }
简单的命令使用帮助 # ansible <host-pattern> [-f fork] [-m module_name] [-a args] # ansible-doc -l 查看所支持的所有模块 即 -m 后面的参数 # ansible-doc -s <模块名> 查看指定模块的参数 即 -a 后面的参数
原文地址:http://sixijie123.blog.51cto.com/11880770/1877999