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

1、Ansible介绍

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

2、ansible工做机制

 

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

3、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命令

4、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 三个指令

5、ansible的语法格式框架

ansible all -m shell -a "date"运维

ansible all -m shell -a date
ansible命令 主机清单 ansible参数 ansible模块 指定使用的命令 date命令
相关文章
相关标签/搜索