Ansible自动化运维Ad-Hoc模式详解

Ansible模式
Ansible中有两种模式:分别是ad-hoc模式和playbook模式;
ad-hoc:简而言之,就是“临时命令”,不会保存;
playbook:翻译过来就是剧本,在文件中保存执行的流程;

ansible基础请参照上篇:https://editor.youkuaiyun.com/md/?articleId=140516519

编辑ansible主机清单

vim /etc/ansible/hosts
[web]            //组名
host[1:4]
[web:vars]       //组的变量
ansible_ssh_user='root' ansible_ssh_pass='root'

Ad-Hoc-点对点模式

简介:
临时的,在ansible中是指需要快速执行的单条命令,并且不需要保存的命令。对于复杂的命令则为 playbook。
ansible在日常管理时所用的内部指令,比如创建用户、安装软件、启动服务等。

Ad-Hoc模式的命令格式
ansible 主机组名称 -m 模块 -a “具体命令”

常用选项:
-m 指定要使用的模块,不指定默认使用command模块 
-a 指定要执行的具体命令
-i  指定自定义的主机清单配置文件 
-f  一次返回几个结果

ad-hoc 模式执行流程
模块执行的工作流程:
1.主控端命令行执行命令;
2.将模块拷贝到受控端;
3.按照模块定义的操作在受控端执行;
4.返回信息,删除受控端模块;

ansible模块可以使用的前提是:主控端与受控端python版本一致,并且Ansible的模块是幂等执行的

Ansible中常见的返回值

返回值 返回值含义
changed 几乎所有的Ansible模块都会返回该变量,表示模块是否对远程主机执行了修改操作
failed 如果模块未能执行完成,将返回failed为true
msg 模块执行失败的原因,常见的错误如ssh连接失败
rc 与命令行工具相关的模块会返回rc,表示执行Linux命令的状态码
stdout 与rc类似,返回的是标准输出的结果
stderr 与rc类似,返回的是标准错误的结果
backup_file 所有存在backup选项的模块,用来返回备份文件的路径
results 应用在playbook中存在循环的情况,返回多个结果

ansible 常用模块

ansible是模块化的,它所有的操作都依赖于模块。

  • shell模块

shell远程执行命令,shell模快其实就是ansible基本语句+shell命令(正常的shell命令)即可执行。
-a ‘单引号里面写正常的shell命令即可’

//查看web组成员的主机名
ansible web -m shell -a 'hostname' -o -f 2     //-f指指定线程数

在这里插入图片描述

//查看/usr/lib下的文件
ansible web -m shell -a '/usr/lib/'

在这里插入图片描述

  • copy模块

执行以下拷贝命令,将/etc/hosts文件拷贝到其它服务器上
ansible 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值