ansible剧本-循环

ansible剧本-循环

图片图片

教程每周二、四、六更新

图片

循环可以在一个任务中干很多事,比如创建一群用户,安装很多包,或者重复一个轮询步骤直到收到某个特定结果.

标准循环

在一个任务中创建多个文件:
---
- hosts: com
  tasks:
    - name: touch some files
      file: path=/data/{{ item }}
      with_items:
        - file1
        - file2
        - file3
        - jasonfile
也可以创建多个用户:
- name: add several users
  user: name={{ item }} state=present groups=wheel
  with_items:
     - testuser1
     - testuser2
也可以在变量文件中定义变量:
# 变量文件中的形式:
somelist:
  - testuser1
  - testuser2

# 使用的时候:
with_items: "{{somelist}}"
所以上面的循环写法就相当于:
- name: add user testuser1
  user: name=testuser1 state=present groups=wheel
- name: add user testuser2
  user: name=testuser2 state=present groups=wheel

小结:

with_items 就是用来定义一个列表。

itemitem变量是一个特殊的变量,用来获取with_items 列表中的元素。

课后实战:

  1. 使用with_items 来给远程主机安装三个软件包:vim、htop、sl

  2. 使用with_items 来给远程主机创建多个用户组:devops、product、hr

嵌套循环

循环也可以嵌套。例如,我们在创建用户的时候,希望在创建用户的同时把用户添加到某个特定的组里。这时候就需要用到嵌套循环。
- name: add some users
  user: name={{ item.name }} group={{ item.group }} state=present
  with_items:
    - { name: 'user1', group: 'group1' }
    - { name: 'user2', group: 'group2' }
上面{{ item.name }}就是用来取列表元素的某个key的值,这是一种用法:item.key_name.

 


 

雷哥开通了抖音(云计算雷哥)和微信视频号,求关注!!!和大家一起学习 技术!

图片

推荐阅读

 

《一站式教程之集群架构》:

 

ansible剧本-变量-常用参数

ansible剧本-变量的引用与定义

ansible剧本-变量的定义

ansible剧本-变量的定义(2)

ansible - 模板template

ansible剧本-when

 

 

看完本文有收获?请分享给更多人

推荐关注「Cloud研习社」,带你从零开始掌握云计算技术!

Cloud研习社
为Linux云计算零基础同学服务,致力于打造一套完整的linux云计算教程。包括新手学习路线、linux、存储、集群架构以及Docker,K8S,DevOps等
188篇原创内容

图片


图片

 

Cloud研习社
收录于合集 #一站式教程
 233
上一篇ansible剧本-变量的定义(2)下一篇ansible剧本-template中的for循环和if的使用(1)
阅读 137
 
posted @ 2023-05-11 15:38  往事已成昨天  阅读(37)  评论(0编辑  收藏  举报