本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • Ansible
  • Ansible教程(7)template中的with循环与when条件判断

Ansible教程(7)template中的with循环与when条件判断

发布:TangLu2020-9-22 13:56分类: Ansible 标签: 自动化运维 ansible

一、Ansible with循环

在Ansible中使用with_items进行循环迭代,适用于需要重复执行的任务。对需要进行循环时,使用固定变量名{{ itme }},然后在task中使用with_items给定要迭代的元素列表。

示例1,通过with_items安装多个软件

vi /etc/ansible/with.yml
---
- hosts: 192.168.1.100
  remote_user: root
  tasks:
    - name: Install Package
      yum: name={{ item }} state=installed   #引用item获取值
      with_items:     #定义with_items
        - redis
        - nginx

ansible-playbook while.yml


二、Ansible when条件判断

示例1:判断客户端系统判断,然后选择对应的配置文件

 vi /etc/ansible/when.yml  #加入如下内容
- hosts: dbservers
  user: root
  vars:
    - http_port: 8080

  tasks:
    - name: install nginx
      yum: name=nginx
    - name: copy conf for centos7
      template: src=nginx.conf7.j2 dest=/etc/nginx/nginx.conf
      when: ansible_distribution_major_version == "7"  #这里的变量是取facts信息
      notify: restart service
    - name: copy conf for centos6
      template: src=nginx.conf6.j2 dest=/etc/nginx/nginx.conf
      when: ansible_distribution_major_version == "6"
      notify: restart service
    - name: start service
      service: name=nginx state=started enabled=yes

  handlers:
    - name: restart service
      service: name=nginx state=restarted 


示例2:当远程主机FQDN名为test时,给该主机添加一个用户user10

vi test.yml
- hosts: all
  remote_user: root
  vars:
  - username: user10
  tasks:
  - name: create {{ username }} user
    user: name={{ username }}
    when: ansible_fqdn == "test"


温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《Ansible教程(7)template中的with循环与when条件判断
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-279.html  [生成短网址]

已有 0/5191 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~