4321255 发表于 2016-12-1 09:09:07

自动化运维工具ansible介绍(1)

自动化运维体系分为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


1
2
3
# yum -y install ansible --> 采用yum 安装ansible
# rpm -q ansible
ansible-2.2.0.0-3.el7.noarch --> 版本为ansible-2.2






1
2
3
4
5
6
7
8
# 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






1
2
3
4
# vim /etc/ansible/hosts --> 定义host inventory

192.168.0.106
192.168.0.110






1
2
3
4
5
6
7
8
9
# ansible all -m ping --> 测试管理主机是否OK
192.168.0.106 | SUCCESS => {
    "changed": false,
    "ping": "pong" --> 代表正常
}
192.168.0.110 | SUCCESS => {
    "changed": false,
    "ping": "pong"--> 代表正常
}








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



页: [1]
查看完整版本: 自动化运维工具ansible介绍(1)