Ansible hanlder是啥?Ansible Block是啥?

Ansible模块被设计成幂等的,即在一个适当编写的剧本中,剧本及其任务可以在不更改受管主机的情况下多次运行,除非它们需要进行更改以使受管主机达到所需的状态。

然而,有时当一个任务对系统进行了更改后同时需要运行另一个任务。例如,对服务的配置文件的更改可能需要重新加载服务,以便更改后的配置生效。此时就需要使用hanlder程序。handler程序是响应由其他任务组成的通知的任务。每个handler程序都有一个全局惟一的名称,并在剧本中任务块的末尾触发。

如果没有任务通过名称调用handler程序,它将不会运行。

如果一个或多个任务都调用handler程序,它将在剧中的所有其他任务完成后仅运行一次。

因为handler程序是任务,所以可以在handler程序中使用与处理任何其他任务相同的模块。通常,handler程序用于重新启动主机和重新启动服务。

handler程序可以视为非活动任务,只有在使用notify语句显式调用时才会触发这些任务。

Ansible Block:在 playbook 中, blocks 是囊括了任务的子句;

blocks 允许对任务进行逻辑分组,并可用于控制任务的执行方式,例如,管理员可以定义一组主要任务和一组附加任务,附加任务仅在第一组失败时执行。为此,可利用三个关键字在 playbook 中使用块:block:定义要运行的主要任务;

rescue:定义将在 block 子句中定义的任务失败时运行的任务;

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

相关推荐
Karoku06644 分钟前
【CI/CD】CI/CD环境搭建流程和持续集成环境配置
运维·ci/cd·docker·容器·kubernetes·prometheus
勤奋的凯尔森同学4 小时前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
丁卯4045 小时前
Go语言中使用viper绑定结构体和yaml文件信息时,标签的使用
服务器·后端·golang
chengooooooo5 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
人间打气筒(Ada)6 小时前
MySQL主从架构
服务器·数据库·mysql
落笔画忧愁e7 小时前
FastGPT快速将消息发送至飞书
服务器·数据库·飞书
小冷爱学习!7 小时前
华为动态路由-OSPF-完全末梢区域
服务器·网络·华为
技术小齐8 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
ITPUB-微风8 小时前
Service Mesh在爱奇艺的落地实践:架构、运维与扩展
运维·架构·service_mesh
落幕8 小时前
C语言-进程
linux·运维·服务器