简介:
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
1. 连接插件connection plugins:负责和被监控端实现通信;
2. host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
3. 各种模块核心模块、command模块、自定义模块;
4. 借助于插件完成记录日志邮件等功能;
5. playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
Ansible自动化运维环境有控制主机与管理主机组成,由于ansible是基于SSH协议进行通信的,所以控制主机安装Ansible软件后不需要重启或运行任何程序,被管理主机也不需要安装和运行任何代理程序。
Ansible框架结构
环境部署:
角色 | 主机名 | IP地址 | 安装软件 |
---|---|---|---|
控制主机 | node1 | 192.168.92.145 | ansible |
被管理主机 | node2 | 192.168.92.156 | |
被管理主机 | node3 | 192.168.92.157 |
准备工作:
关闭三台节点的防火墙和selinux
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
开始部署:
1.安装ansible(以下内容只在控制主机上操作)
# yum install epel-release -y //安装epel源
# yum instlal ansible -y //安装ansible 软件包
# ansible --version //查看ansible 版本信息
# yum install tree -y
# tree /etc/ansible //树状结构展示目录
/etc/ansible
├── ansible.cfg //ansible的配置文件
├── hosts //ansible的主仓库,用于存储需要管理的远程主机的相关信息
└── roles //角色
2.配置主机清单
# vim /etc/ansible/hosts //配置主机清单
[node2] //被管理主机分类
192.168.92.156
[node3] //被管理主机分类
192.168.92.157
3.设置SSH无密码登陆
# ssh-keygen -t rsa //生成密匙
# ssh-copy-id root@192.168.92.156 // 配置密匙对验证
# ssh-copy-id root@192.168.92.157 //配置密匙对验证
设置免交互代理
# ssh-agent bash
# ssh-add
到此Ansible的环境部署就完成了。
模块会在下一节介绍。
转载于:https://blog.51cto.com/13777111/2304886