随笔分类 - Ansible
摘要:嵌套的列表(序列中的序列),示例如下: 上例中我们将之前的两种语法结合,定义出了一个列表,而这个列表中的每一项都是列表,相当于一个大列表中嵌套了多个小列表,那么,当我们使用with_items遍历上述列表时,会是什么样的效果呢?我们试试,执行后的信息如下: 可以看到,debug模块循环的将每个小列表
阅读全文
摘要:在使用ansible的过程中,我们经常需要处理一些返回信息,而这些返回信息中,通常可能不是单独的一条返回信息,而是一个信息列表,如果我们想要循环的处理信息列表中的每一条信息,我们该怎么办呢?这样空口白话的描述有些费力,不如通过一些小示例,结合场景来描述。 以下是我的配置清单: 我想获取配置清单中,没
阅读全文
摘要:1.谈一谈[Gathering Facts]:使用setup模块查看 当我们运行一个playbook时,默认都会运行一个名为“[Gathering Facts]”的任务,前文中已经大致的介绍过这个默认的任务,ansible通过“[Gathering Facts]”这个默认任务收集远程主机的相关信息(
阅读全文
摘要:1.定义变量规范 先说说怎样定义变量,变量名应该由字母、数字、下划线组成,变量名需要以字母开头,ansible内置的关键字不能作为变量名。 2.定义变量,使用关键字:vars 定义变量用vars,调用变量用{{ 变量名 }} 定义多个变量,如下操作: 或者使用YAML的块序列语法定义,等效,如下操作
阅读全文
摘要:你写了一个很长的playbook,其中有很多的任务,这并没有什么问题,不过在实际使用这个剧本时,你可能只是想要执行其中的一部分任务而已,或者,你只想要执行其中一类任务而已,而并非想要执行整个剧本中的全部任务,这个时候我们该怎么办呢?我们可以借助tags实现这个需求。 见名知义,tags可以帮助我们对
阅读全文
摘要:1.先看一个playbook示例: 表示在远程主机192.168.10.2中/test文件夹中新建一个CCC文件,其权限设置为0700。 1.1书写风格之一:参数可以集中写在一行。 1.2书写风格之二:分多行书写。 【注意】上述书写格式都是0.8版本以后的ansible推荐的书写格式,在0.8版本之
阅读全文
摘要:回顾总结:我们来想象一个工作场景,看看怎样把之前的知识点应用到这个工作场景中。假设,我们想要在192.168.10.2主机上安装nginx并启动,我们可以在ansible控制主机中执行如下3条命令。 [root@ansible-control /]#ansible 192.168.10.2 -m y
阅读全文
摘要:1.yum_repository模块 用于远程管理远程主机上的yum仓库。 参数解析: name:必须参数,用于指定要操作的唯一的仓库ID,也就是.repo配置文件中每个仓库对应的“中括号”内的仓库ID。baseurl:此参数用于设置yum仓库的baseurl。description:此参数用于设置
阅读全文
摘要:1.cron模块 cron命令是计划任务功能,与crontab功能类似。 示例:时间格式 >>>分 时 日 月 星期 10 12 27 * * tar -cvzf log.tar.gz /var/log #每个月的27号的12时10分将log文件夹打包 @hourly tar -cvzf log.t
阅读全文
摘要:1.command模块 它的作用是帮助我们在远程主机上执行命令。 【注意】使用command模块在远程主机中执行命令时,不会经过远程主机的shell处理,在使用command模块时,如果需要执行的命令中含有重定向、管道符等操作时,这些符号也会失效,比如"<",">","|",";"和"&"这些符号,
阅读全文
摘要:1.copy模块 copy模块的用途和fetch模块的用途恰恰相反,fetch模块是ansible控制机从远端主机拉取(拷贝)文件;copy模块是将ansible控制机的文件拉取(拷贝)到远端主机。 参数解析: src:用于指定需要copy的文件或目录。 dest:用于指定文件将被拷贝到远程主机的哪
阅读全文
摘要:1.ping模块 [root@ansible-control /]# ansible A -m ping #pingA组内的主机 [root@ansible-control /]# ansible 192.168.232.182 -m ping [root@ansible-control /]# a
阅读全文
摘要:前情提要:管理清单(Iventory)配置文件/etc/ansible/hosts。通过修改该配置文件以达到管理受控主机的目的。 在我的实验平台上有3台主机:192.168.232.181(ansible控制中心)、192.168.232.182(受控主机)、192.168.232.100(受控主机
阅读全文
摘要:一、基础概念 1.ansible是什么? ansible是一个配置管理工具,是一个自动化运维工具。 2.ansible能做什么? 它可以完成一组批量化的工作任务,或者经常重复性的工作任务。例如:a.在100台服务器上安装nginx服务,并在安装后启动它们 b.将某个文件一次性拷贝到100台服务器上
阅读全文
摘要:一、实际工作生产场景分析 张三是某公司员工,由于业务上的需求,需要经常使用SSH工具登陆服务器A的root账户进行操作,为避免重复进行密码验证身份。现采用张山的公钥发送给服务器A,免输入密码登陆到服务器A的root账户。首先张三要生成一对公钥和私钥,私钥要绝对保密。 理解思路:用户alex想要免输入
阅读全文