ansible 基础知识

Ansible是一种批量处理工具,基于SSH协议。本文详细介绍了Ansible的基础知识,包括资产定义、临时命令ad-hoc的使用、常用模块(如command、shell、copy、yum、service等)的用法以及playbook剧本的编写,特别是YAML语法的学习。
摘要由CSDN通过智能技术生成

ansible 基础

ansible是一种批量处理工具,使用ssh协议走的是22端口

1、ansible资产

使用yum安装的ansible的默认资产文件在/etc/ansible/hosts ,此文件定义控制节点远程管理的节点情况,使用ansible执行时会根据你所敲得命令去寻找主机组然后执行。

1.1、自定义资产

这个文件可以自己定义,之后使用相应的参数指定

例子

# cat hosts
===直接定义写上被控ip或者主机名===
10.10.20.2
10.20.23.2
10.20.30.[1:25]    ----表示30.1到25这25个ip  [里面的表示范围]
www.test[0:10].com ----[里面的表示范围]
www.test.com

===定义一个主机组,使用的不用指定ip,写上组名会在组内成员中执行命令===
[test]
10.10.20.2
10.10.30.[1:25]
[persistent]
www.test[0:10].com
www.test.com

===组的嵌套写法===
[all_group:children]  --all_group是下面两个组的爸爸,all_group包含下面的组
test
persistent
1.2、如何使用自定义资产与查看/使用资产中的主机

通过-i参数指定自定义资产的位置即可

# ansible all  -i  /tmp/hosts  -m 模块  -a "命令或者模块所需参数"
all   表示所有主机组
-i    表示指定 资产清单=主机清单
-m    使用的模块
-a    模块所需的参数
# ansible all -i  /tmp/hosts  --list-host 查看所有主机组
# ansible test -i /tmp/hosts  --list-host 查看test组里面的成员
# ansible 10.10.20.* -i /tmp/hosts  --list-host  --查看以10.10.20.开头的所有主机
# ansible test:test2 -i /tmp/hosts  --list-host  --查看test组和test2组的所有主机并集
# ansible test:&test2 -i /tmp/hosts  --list-host  --查看test组和test2组的交集

2、ansible的临时命令ad-hoc

ansible的临时命令相比于playbook类似一条shell命令

2.1、命令格式

命令格式语法如下:

# ansible pattern [-i 主机清单/资产清单] -m module -a argument
  • pattern资产选择器
  • -i 指定主机/资产清单文件所在位置
  • -m本次所执行的模块
  • -a模块所需的参数
2.2、查看模块帮助指南

ansible有很多模块每个模块使用方法不一样,这个时候就需要查看帮助文档来使用

  • 列出所有核心模块和附加模块

    # ansible-doc  -l
    
  • 查询某个模块的使用方法

    # ansible-doc  modulename
    
  • 查询某个模块的使用示例

    # ansible-doc modulename | grep -A 50 EXAMPLES
    

3、常用模块

无论我们是使用ansible的ad-ho临时命令还是playbook都逃不过使用模块这个,使用某个模块来达到某个指定的动作。

3.1、command & shell模块

这两个模块都是在远程节点上去执行命令

但是command模块是ad-hoc的默认模块不适用-m指定模块时默认使用此模块

相比于shell模块来讲command模块不能使用cp 管道重定向之类的,所以很少使用

#  ansible all -i /tmp/hosts -m shell -a "echo 'hello' | grep o >/root/a"  
--可以使用管道和重定向
3.2、script模块
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值