Ansible(2)

目录

playbook剧本

编写剧本:

准备好nginx的yum源文件:

when条件判断:

items循环:


playbook剧本

playbooks 本身由以下各部分组成
(1)Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行
(2)Variables:变量
(3)Templates:模板
(4)Handlers:处理器,当changed状态条件满足时,(notify)触发执行的操作
(5)Roles:角色

编写剧本:

给管理主机配置文件还原,并重新进行配置管理:

创建目录:

先给dbservers防火墙开启:

编写测试yaml文件:

---
- name: first play for install nginx   #设置play的名称
  gather_facts: false                  #设置不收集facts信息
  hosts: webservers:dbservers          #指定执行此play的远程主机组
  remote_user: root                    #指定执行此play的用户
  tasks:                               #指定此play的任务列表
  - name: disabled firewalld
    service: name=firewalld  state=stopped  enabled=no
  - name: disabled selinux forever
    replace: path=/etc/selinux/config  regexp=enforcing  replace=disabled  after=loaded

执行文件:

ansible-playbook demo1.yaml 

安装nginx的剧本: 

- name:                 #设置play的名称
  hosts:                #指定执行此play的远程主机组
  remote_user:          #指定执行此play的用户
  gather_facts:         #设置是否收集facts信息 yes|no|true|false
  task:                 #指定此play的任务列表
  - name:                  #定义任务的名称
    模块名: 模块参数       #定义任务要使用的模块和参数(键值对格式)
  - name:  
    模块名: 模块参数
    ignore_errors: true    #忽略此任务的失败
  - name:  
    模块名: 模块参数
    notify: '任务名'       #定义此任务执行结果为changed状态时要触发的handler任务
    
  handlers:
  - name: 任务名
    模块名: 模块参数

准备好nginx的yum源文件:

执行剧本:

查看被控制主机:

检查剧本的语法:

ansible-playbook demo1.yaml --syntax-check    #检查yaml文件的语法是否正确

ansible-playbook demo1.yaml --list-task       #检查tasks任务

ansible-playbook demo1.yaml --list-hosts      #检查生效的主机

when条件判断:

在Ansible中,提供的唯一一个通用的条件判断是when指令,当when指令的值为true时,则该任务执行,否则不执行该任务。

编写剧本:

- hosts: webservers
  remote_user: root
  tasks:
   - name: shutdown host
     command: /sbin/shutdown -r now
     when: ansible_default_ipv4.address == "192.168.233.20"

执行剧本:

items循环:

编写剧本:

---
- name: play1
  hosts: webservers
  gather_facts: false
  tasks:
    - name: create file
      file:
        path: "{
  {item}}"
        state: touch
      with_items: [ /opt/a, /opt/b, /opt/c, /opt/d ]

去20主机查看下/opt目录下有无文件:

运行剧本:

查看/opt目录:

相关推荐

  1. <span style='color:red;'>ansible</span>-<span style='color:red;'>2</span>

    ansible-2

    2024-02-21 05:16:01      14 阅读
  2. <span style='color:red;'>Ansible</span>

    Ansible

    2024-02-21 05:16:01      25 阅读
  3. <span style='color:red;'>Ansible</span>

    Ansible

    2024-02-21 05:16:01      35 阅读
  4. <span style='color:red;'>ansible</span>

    ansible

    2024-02-21 05:16:01      32 阅读
  5. <span style='color:red;'>ansible</span>

    ansible

    2024-02-21 05:16:01      33 阅读
  6. <span style='color:red;'>ansible</span>

    ansible

    2024-02-21 05:16:01      39 阅读
  7. Ansible

    2024-02-21 05:16:01       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-21 05:16:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-21 05:16:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-21 05:16:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-21 05:16:01       18 阅读

热门阅读

  1. Message Pack 协议详解及应用

    2024-02-21 05:16:01       34 阅读
  2. redis 主从模式,sentinel 模式配置

    2024-02-21 05:16:01       32 阅读
  3. 2402C++,C++26包索引

    2024-02-21 05:16:01       36 阅读
  4. SpringBoot

    2024-02-21 05:16:01       25 阅读
  5. js遇到的问题 --持续更新

    2024-02-21 05:16:01       30 阅读
  6. rust gui fltk

    2024-02-21 05:16:01       29 阅读
  7. Rabbitmq的几种模式的总结

    2024-02-21 05:16:01       30 阅读
  8. 学习数据接构和算法的第11天

    2024-02-21 05:16:01       31 阅读
  9. 【Git】切换分支【2024年2月19日】

    2024-02-21 05:16:01       29 阅读
  10. Spring设计模式之工厂模式创建Bean对象

    2024-02-21 05:16:01       28 阅读