当前位置: 首页 > news >正文

【Ansible】实施任务控制知识点

1.如何实现循环?

答:使用loop关键字定义循环列表,任务中通过{{ item }}引用当前元素。

2.什么是when语句?

答:when语句用于有条件地运行任务。它取要测试的条件作为值。如果条件满足,则运行任务。如何条件不满足,则跳过任务。其后跟随条件表达式(支持比较、逻辑运算、事实引用)。可以使用and和or关键字来评估多个条件,除此之外when语句还可以和循环loop组合使用(效率低,不推荐)。

3.处理程序的概念

答:处理程序可视为非活动任务,只有在使用notify语句显式调用时才会被触发。且无论被触发多少次,最终只执行一次。通常用于重新引导主机和配置变更后的服务重启。

4. 使用处理程序注意事项?

答:-处理程序始终按照play 的handlers部分指定的顺序运行。它们不按在任务中由notify语句列出的顺序运行,或按任务通知它们的顺序运行。

-处理程序通常在相关play中的所有其他任务完成后运行。playbook的tasks部分中某一任务调用的处理程序,将等到tasks 下的所有任务都已处理后才会运行。

-处理程序名称存在于各play命名空间中。如果两个处理程序因出错而同名,则只会运行其中一个。

-即使有多个任务向处理程序发出通知,该处理程序也只会运行一次。如果没有任务向处理程序发出通知,则处理程序不会运行。

-如果包含notify语句的任务没有报告changed结果(例如,软件包已安装并且任务报告ok),则处理程序不会获得通知。只有相关任务报告了changed状态,Ansible才会通知处理程序。

5.处理任务失败的方式

答:忽略任务失败:默认情况下,任务失败时play会中止。设置ignore_errors:yes,则任务失败时,会忽略失败。

失败后强制执行处理程序:在play中设置force_hand lers:yes关键字会强制执行任务失败后面的程序。

指定任务失败条件:在任务中使用failed_when关键字来指定表示任务已失败的条件。通常用于可能成功执行命令,但命令输出指示失败的命令模块。

指定任务何时报告"Changed"结果:使用changed_when关键字可以控制任务如何报告其已更改受管主机上的某些内容。

6. Ansible块和错误处理

答:在playbook中,块是对任务进行逻辑分组的子句,可用于控制任务的执行方式。

-block:定义要运行的主要任务。

-rescue:定义要在block子句中定义的任务失败时运行的任务。

-"always:定义始终都独立运行的任务,不论block和rescue子句中定义的任务是成功还是失败。


文章转载自:

http://mg7P98fG.nrxsL.cn
http://pHeOKxF9.nrxsL.cn
http://0m3u0PzH.nrxsL.cn
http://HHhvXoFy.nrxsL.cn
http://iqb7gtWa.nrxsL.cn
http://VOO76b8M.nrxsL.cn
http://x4xigLnX.nrxsL.cn
http://MxKV5FKH.nrxsL.cn
http://zmg26MMK.nrxsL.cn
http://Dmq4JMSs.nrxsL.cn
http://ZfKKPJu9.nrxsL.cn
http://0pXxxxym.nrxsL.cn
http://35YbxOf4.nrxsL.cn
http://gFbFyJdl.nrxsL.cn
http://kWL66r6l.nrxsL.cn
http://8ssReUkt.nrxsL.cn
http://DpjFC2cz.nrxsL.cn
http://WscSwVKP.nrxsL.cn
http://ljDyFFFF.nrxsL.cn
http://os3pljjs.nrxsL.cn
http://mzsnRT5R.nrxsL.cn
http://5WeNxheC.nrxsL.cn
http://BoCkh2zU.nrxsL.cn
http://evpCxoqF.nrxsL.cn
http://pD1idP9C.nrxsL.cn
http://zURAzoKX.nrxsL.cn
http://H3idy7fO.nrxsL.cn
http://LSGp2dTB.nrxsL.cn
http://zyEkrAf2.nrxsL.cn
http://WKp6wpun.nrxsL.cn
http://www.dtcms.com/a/377173.html

相关文章:

  • Java算法题中的输入输出流
  • 10 写第一份 AI 产品 PRD
  • FDTD_Zemax
  • AutoMQ 亮相首尔:KafkaKRU 分享日志流处理新思路
  • HDFS基准测试与数据治理
  • 前端学习之后端java小白(二)-sql约束/建表
  • 深入理解STM32运行原理:从上电到主程序执行的完整过程
  • 基于Qt QML和C++的MQTT测试客户端(CMakeLists实现)
  • 故障预测与自愈:基于时序异常的GPU卡故障提前预警
  • 【Android】CoordinatorLayout 的基本使用
  • 玄机--应急响应--webshell查杀
  • Uniapp跨平台蓝牙多设备并发管理模型
  • 【从0开始学习Java | 第15篇】泛型
  • JavaSE丨深入剖析:从JVM类加载到反射编程的核心机制
  • eclipse中web项目编译后的lib里面jar为空问题处理
  • 非阻塞式等待和进程程序替换
  • 科技信息差(9.10)
  • Laya使用VideoNode动态加载视频,可以自定义播放视频此处以及位置
  • AWStats 网站日志分析工具简单介绍和常见问题
  • 在Windows 11上配置Cursor IDE进行Java开发
  • iOS App 混淆与反编译防护 iOS代码保护、ipa文件安全加固与应用逆向分析对抗全流程指南
  • 【Android】设置让输入框只能输入数字
  • 大数据探索性分析——抽样技术应用
  • 2010-2022 同等学力申硕国考:软件工程简答题真题汇总
  • 在FreeSSL上申请免费证书,将http改成https
  • micropython的属性式GPIO控制
  • 华为FreeBuds 7i没有弹窗如何解决?
  • 循环+函数
  • leetcode-hot100 11.盛水最多容器
  • pyspark 从postgresql读取数据