Ansible的剧本演示(四)

本文是Ansible剧本的第四部分,介绍如何在剧本中使用处理器、判断条件、循环以及变量。通过实例展示了如何在剧本中添加重启处理、使用when进行条件判断、使用with_items进行循环操作以及定义和引用变量。每个实例都包含剧本编写、语法检查、执行及验证结果的过程。
摘要由CSDN通过智能技术生成

Ansible的剧本演示(四)

通过上篇的博客Ansible剧本的使用及演示(三)的简单演示,接下来看一些运用触发器,变量,判断等的剧本实践吧。

实例一:使用处理器

在上面的实例中,我们已经可以安装软件了。现在有这样一个需求,如果我们更改了节点的配置文件需要重启操作,其余动作照常执行怎么解决?

第一步:本地准备一个httpd配置文件,更改端口号为8081

[root@yxx ~]# cp /etc/httpd/conf/httpd.conf ./
[root@yxx~]# sed -i "s/Listen 80/Listen 8081/" httpd.conf 

第二步:编写剧本

剧本说明:

- hosts: all 指定主机组,可以理解为这个最大,顶个写

  tasks:       指定下面一系列的动作,这个是第二,需要有两个空格

    - name: 指定名称,排行第三,需要有三到四个空格

      yum: 模块名 排行第四,需要有四到五个空格

  handlers:指定处理器(触发器),排行第二,需要与tasks对齐

- hosts: all
  tasks:
   - name: install httpd
      yum: name=httpd state=present
   - name: copy file
     copy: src=/root/httpd.conf dest=/etc/httpd/conf/httpd.conf
     notify:
       - restart httpd
   - name: start httpd
     service: name=httpd state=present
  handlers:
   - name: restart httpd
     service: name=httpd state=restarted

第三步:剧本语法检测

剧本检测报以下错误,说明排版有问题

[root@yxx ~]# ansible-playbook --syntax-check httpdhe.yaml 
ERROR! Syntax Error while loading YAML.
  mapping values are not allowed in this context

The error appears to have been in '/root/httpdhe.yaml': line 4, column 11, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

  - name: install httpd
       yum: name=httpd state=present
          ^ here

第四步:排查错误

可以发现第四行yum多缩进了一个空格,一定要严格控制缩进。

tasks和hosts首字母对齐

模块和name对齐首字母

- hosts: all
  tasks:
   - name: install httpd
     yum: name=httpd state=present
   - name: copy file
     copy: src=/root/httpd.conf dest=/etc/httpd/conf/httpd.conf
     notify:
       - restart httpd
   - name: start httpd
     service: name=httpd state=present
  handlers:
  
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值