Ansible-playbook loops循环with_items(学习笔记二十一)

简介: 文件[root@ansible-server ansible]# tree ././├── hosts└── loops.yamlhosts 文件[web]192.

文件

[root@ansible-server ansible]# tree ./

./

├── hosts

└── loops.yaml

hosts 文件

[web]

192.168.10.11

192.168.10.12

loops.yaml文件

---

- hosts: all

gather_facts: False

tasks:

- name: debug loops

debug: msg="yum install -y {{ item }}"

yum: name={{ item }}

with_items:

- pcre

- pcre-devel

        - nginxPS:{{ item }} 定义变量

with_items 是 python list 数据结构,task会循环读取list里面的值。key的名称是item。

- pcre

- pcre-devel

- nginx

如果其它软件包,可将软件包名称依次写在下面。

批量安装

#ansible-playbook -i hosts loops.yaml 

PLAY [all] ********************************************************************

TASK: [debug loops] ***********************************************************

ok: [192.168.10.11] => (item=pcre,pcre-devel,nginx)

ok: [192.168.10.12] => (item=pcre,pcre-devel,nginx)

PLAY RECAP ********************************************************************

192.168.10.11 : ok=1 changed=0 unreachable=0 failed=0

192.168.10.12 : ok=1 changed=0 unreachable=0 failed=0

目录
相关文章
Ansible-playbook 并发运行async、poll(学习笔记二十二)
ansible默认只会创建5个进程,所以一次任务只能同时控制5台机器执行.那如果你有大量的机器需要控制,或者你希望减少进程数,那你可以采取异步执行.ansible的模块可以把task放进后台,然后轮询它.
4592 0
|
关系型数据库 MySQL 应用服务中间件
|
Python
Ansible 通过数组嵌套循环把 yaml 内容写入 ini 配置的新思路
把一个多层级的 yaml 配置内容,转换成 ini 配置的内容。
868 0
|
Linux 开发工具 Python
Ansible-playbook 条件判断when、pause(学习笔记二十三)
有一些模块,例如copy这个模块有一些机制能跳过本次模块的运行.其实我们也可以使用自己的条件语句去配置跳过模块,这样方便你服务能够选择使用不同的包管理(apt,yum)和不同的文件系统.
1643 0
|
JSON Shell 数据格式
Ansible-playbook 变量进阶(学习笔记二十五)
1、register结果返回到变量中 - name: debug test one host   hosts: 200.200.6.53   tasks:     - debug:         msg: "System {{ inventory_h...
1371 0
Ansible-playbook 应用变量(学习笔记二十)
文件 [root@ansible-server ansible]# tree ./ ./ ├── hosts └── var.yaml hosts 文件 [web] 192.
1108 0
|
NoSQL Apache Redis
Ansible-playbook 基本语法与实例(学习笔记十九)
1、安装apache,做初始配置,并启动服务: 这个是你选择的主机 hosts: webservers 这个是变量 vars: http_port: 80 max_clients: 200 远端的执行权限 remote_user: root t...
1304 0
|
Shell
Ansible-playbook 简单实例(学习笔记十八)
1、test.yml,执行任务:安装wget,更换仓储源,获取信息等 hosts: all gather_facts: false tasks: name: yum wget yum: pkg=wget state=latest name: mv old repo shell: mv /etc/yum.
1266 0
|
Shell Python
Ansible yaml的语法、playbook文件例子(学习笔记十七)
1、ansible有两种调用方式,一种是临时语句,一种是yml文件调用,语法格式分别为: ansible all -m ping ansible-playbook  test.yml 2、test.yml为yaml文件,yaml使用空白、缩进、分行组织数据。
1373 0