Ansible 自动化运维:任务执行、错误处理与条件控制
1. 执行 Playbook 及观察结果
运行 Playbook 时,可使用 ansible-playbook exercise73.yaml 命令,并观察其结果。需要注意的是,处理程序(handler)仅在内核更新时才会运行。若内核已是最新版本,未发生任何更改,处理程序则不会运行。虽然在 Play 头部使用 force_handlers 并非必要,但通过使用它,你能了解其使用场景。
2. 处理 Playbook 中的失败情况
在使用 Playbook 时,可能会得到意外结果。为应对这些情况,需理解 Playbook 的正常操作。基于对预期结果的理解,当事情未按预期发展时,就能处理相应情况。
2.1 理解任务执行
Ansible Playbook 中的任务按指定顺序执行。若 Playbook 中的某个任务在主机上执行失败,该任务会生成错误,且 Play 不会在该特定主机上继续执行。处理程序也是如此:若触发处理程序的任务之后的任何任务失败,处理程序将不会运行。在这两种情况下,要知道已成功运行的任务仍会产生其结果。由于这可能导致意外结果,因此若发生这种情况,始终恢复原始状态很重要。
在某些情况下,当遇到失败任务时,你可能希望整个 Playbook 在所有主机上停止执行。此时,可在 Play 头部或块(block,后续会详细解释)中使用 any_errors_fatal 。
2.2 管理任务错误
一般来说,任务可能产生三种不同类型
超级会员免费看
订阅专栏 解锁全文
41

被折叠的 条评论
为什么被折叠?



