博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ansible 任务流程控制
阅读量:6478 次
发布时间:2019-06-23

本文共 1404 字,大约阅读时间需要 4 分钟。

一、任务委托

  默认情况下,ansible的所有任务都是在指定的机器上运行的,当在一个独立的群集环境中配置时,但是只想操作其中的某一台主机,或者在特定的主机上运行,此时就需要用到ansible的任务委托功能。

  使用delegate_to关键字可以配置任务在指定的机器上执行,二其他的任务还是在hosts关键字配置的机器上运行,到了这个关键字所在的任务时,就使用委托的机器运行。例如:

---  - hosts: zookeeper    remote_user: root    gather_facts: no    tasks:      - name: test        shell: "echo 123 > /tmp/bb"      - name: test delegate        shell: "echo 1 > /tmp/aa"        register: aa        delegate_to: 192.168.4.50      - name: hhh        debug:          var: "{
{ aa }}" 说明:zookeeper组里面是两天主机: 192.168.4.50 192.168.4.46

如果想要在ansible服务器本地运行,除了将任务委托给127.0.0.1或者localhost,还可以使用local_action关键字完成,如下:    tasks:

- name: test        shell: "echo 123 > /tmp/bb"      - name: test delegate        shell: "echo 1 > /tmp/aa"        register: aa        delegate_to: 127.0.0.1   或者
tasks:      - name: test        shell: "echo 123 > /tmp/bb"      - name: test delegate        local_action: shell "echo 1 > /tmp/aa"        register: aa
 

二、任务暂停

  当一些任务的运行需要等到一些状态的恢复,比如某一台主机或者应用刚刚重启,需要等待其某个端口开启,这个时候就需要任务暂停。如下:

---  - hosts: hadoop    remote_user: root    gather_facts: no    tasks:    - name: test1      local_action:        module: wait_for           #模块名字        port: 80        host: 192.168.4.50        delay: 10        timeout: 300        state: started

使用local_action配合wait_for模块来完成任务的暂停操作。该任务每隔10s检查主机上的80端口是否开启,如果操作300s,80端口任未开启,将返回失败信息。

转载于:https://www.cnblogs.com/yjt1993/p/10971801.html

你可能感兴趣的文章
Pre-echo(预回声),瞬态信号检测与TNS
查看>>
【转载】如何发送和接收 Windows Phone 的 Raw 通知
查看>>
poj2378
查看>>
Java文件清单列表
查看>>
js url传值中文乱码之解决之道
查看>>
Atitit.获取某个服务 网络邻居列表 解决方案
查看>>
Trusty TEE
查看>>
[LeetCode] Reverse String 翻转字符串
查看>>
学习iOS【3】数组、词典和集合
查看>>
Hessian 原理分析--转
查看>>
转: 基于netty+ protobuf +spring + hibernate + jgroups开发的游戏服务端
查看>>
easyui传入map的数据前台展示出tree格式数据
查看>>
悲观的思考,乐观的生活.我们既需要思考的深度,也需要生活的温度!
查看>>
java.math.BigDecimal
查看>>
Vitamio中文API文档(4)—— VitamioInstaller
查看>>
yii框架常用url地址
查看>>
python3.4学习笔记(十六) windows下面安装easy_install和pip教程
查看>>
MyGUI 解析
查看>>
Linux中的ls命令详细使用
查看>>
graph-tool文档(一)- 快速开始使用Graph-tool - 2.属性映射、图的IO和Price网络
查看>>