ansible介绍:
Ansible是一款基于Python开发的自动化运维工具,主要是实现批量系统配置、批量程序部署、批量运行命令、批量执行任务等等诸多功能。Ansible是一款灵活的开源工具,能够很大程度简化运维中的配置管理与流程控制方式,它利用推送方式对客户系统加以配置,这样所有工作都可在主服务器端完成。Asible是基于模块工作的,其本身没有批量部署的能力,Ansible~~~~~一款运维自动化的软件!
工作特性:
工作机制:
1、特性
(1)、no agents:不需要在被管控主机上安装任何客户端;
(2)、no server:无服务器端,使用时直接运行命令即可;
(3)、modules in any languages:基于模块工作,可使用任意语言开发模块;
(4)、yaml,not code:使用yaml语言定制剧本playbook;
(5)、ssh by default:基于SSH工作;
(6)、strong multi-tier solution:可实现多级指挥。
2、优点
(1)、轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;
(2)、批量任务执行可以写成脚本,而且不用分发到远程就可以执行;
(3)、使用python编写,维护更简单,ruby语法过于复杂;
(4)、支持sudo。
安装epel 源:
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
安装ansible 服务端:
yum install ansible -y
ssh-keygen 生成秘钥文件:
ssh-keygen -t rsa
一直敲回车
cd /root/.ssh/ && ll ./*
配置ansible 的hosts 文件:
vim /etc/ansible/hosts
添加客户端使用ssh 方式:
如果之前已经存在authorized_keys, 并且有其他主机的秘钥文件, 该命令会直接追加进去。
ssh-copy-id -i /root/.ssh/id_rsa.pub 10.90.10.31
测试所有连接的客户端:
ansible all -a 'who'
测试主机
使用ansible查看远程主机的基本信息
ansible webservers -m setup