ansible
ansible是近几年兴起的自动化运维工具,基于Python开发,集合了众多运维工具的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它是基于ssh来和远程主机通讯的
ansible特点
- 部署简单,只需在主控端部署ansible环境,被控端无需做任何操作
- 默认使用SSH协议对设备进行管理
- 有大量常规运维操作模块,可实现日常绝大部分操作
- 配置简单、功能强大、扩展性强
- 支持API及自定义模块,可通过Python轻松扩展
- 通过Playbooks来定制强大的配置、状态管理
- 轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可
- 提供一个功能强大、操作性强的Web管理界面和REST API接口——AWX平台
ansible的常用模块
comment :执行linux命令,但是不可以使用管道符等复杂命令
shell :可以执行远程服务器上的shell脚本
file :主要用于对远程服务器上的文件(包括连接和目录)进行操作,包括修改文件的权限,修改文件的所有者,创建文件,删除文件等
user\group :user模块用来创建,删除,更改用户 group模块用来创建,更改,删除组
copy :用来将主控节点的文件或者目录拷贝到远程服务器上
yum :和linux里的yum作用一样,可以在远程主机上管理yum软件包
mount :在远程服务器上挂载磁盘
service :连接远程服务器