简介:

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框架结构

自动化运维之详细部署安装Ansible服务(超简单)_第1张图片

环境部署:

角色 主机名 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 [email protected] // 配置密匙对验证
# ssh-copy-id [email protected] //配置密匙对验证

自动化运维之详细部署安装Ansible服务(超简单)_第2张图片
自动化运维之详细部署安装Ansible服务(超简单)_第3张图片
自动化运维之详细部署安装Ansible服务(超简单)_第4张图片

设置免交互代理
# ssh-agent bash
# ssh-add 

自动化运维之详细部署安装Ansible服务(超简单)_第5张图片

到此Ansible的环境部署就完成了。

模块会在下一节介绍。