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

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



