Ansible(自动化运维工具介绍)

一、Ansible介绍

 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
 ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信;
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3)、各种模块核心模块、command模块、自定义模块;
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
 

二、ansible工作机制

架构组成:ansible核心、ansible模块、ansible-playbook(剧本)、host inventry(主机清单)等
工作原理:单个模块,单个命令执行方式;剧本执行方式

三、ansible的参数:

ansible参数说明
参数   参数说明
-m   指定使用的module名称,默认使用command模块
 -a  指定使用的命令,如ansible all -m shell -a "date"
 -v  --verbose 详细信息
 all  针对hosts 定义的所有主机执行
-U --sud-user=SUDO_User sudo到哪个用户,默认为 root
-k --ask-pass 登录密码,提示输入SSH密码而不是假设基于密钥的验证
-s --sudo sudo运行
-S --su 使用su命令

四、ansible的常用模块

ansible模块
模块名称 模块说明
ping 测试主机是否是通的,用法很简单,不涉及参数
command 执行命令模块,ansible命令执行默认模块
shell 执行shell命令模块
copy 复制文件到远程主机
script 脚本模块
file file模块主要用于远程主机上的文件操作
service 用于管理服务
cron 用于管理计划任务
synchronize 使用rsync同步文件
yum 使用yum包管理器来管理软件包
mount 配置挂载点
get_url 该模块主要用于从http、ftp、https服务器上下载文件(类似于wget)
user user模块是请求的是useradd, userdel, usermod三个指令
group goup模块请求的是groupadd, groupdel, groupmod 三个指令

五、ansible的语法格式

ansible all -m shell -a "date"

ansible all -m shell -a date
ansible命令 主机清单 ansible参数 ansible模块 指定使用的命令 date命令
原文地址:https://www.cnblogs.com/51wansheng/p/9063646.html