ansible-playbook运行步骤调度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible-playbook运行步骤调度相关的知识,希望对你有一定的参考价值。

ansible-playbook运行步骤调度

官方大致提供如下几个特性:对于测试或调试新的playbook很有帮助.
1:tag
2:start-at
3:skip-tags
4:step

Demo playbook:

---
- name: shutdown etcd
  service: name=etcd state=stopped enabled=no
  ignore_errors: yes
  tags:
      - shutdown

- name: del etcd dir
  shell: ‘rm -rf  item ‘
  with_items:
      -  ETCD_DIR 
  tags:
      - deldir

- name: create etcd dir
  file:
       path: ‘ item ‘
       state: directory
       mode: 755
  with_items:
      -  ETCD_DIR 
  tags:
      - mkdir

tag 示例:

如果你只想运行 playbook 中的”shutdown”和”mkdir”,你可以这样做

ansible-playbook example.yml – tags “shutdown,mkdir”

tag 特性是一个不错的功能,但如果真的是要维护一个大型的 playbook,还是建议将 playbook 按功能或应用拆分成多个 playbook,然后再在主 playbook include 其他子 playbook,这样即既利于维护也方便管理.

start-at 示例

从指定任务开始运行palybook以及分步运行playbook,如果你想从指定的任务开始执行playbook,可以使用–start-at选项:
以下命令就会在名为”deldir”的任务开始执行你的playbook.

ansible-playbook playbook.yml --start-at="deldir"

skip-tags 示例

如果你只想执行 playbook 中某个特定任务之外的所有任务,你可以这样做:

ansible-playbook example.yml – skip-tags “deldir”

分步运行playbook 示例

可以通过–step选项来交互式的执行playbook,ansible在每个任务前会自动停止,并询问是否应该执行该任务.

ansible-playbook playbook.yml --step

比如你有个名为``deldir``的任务,playbook执行到这里会停止并询问:

Perform task: deldir (y/n/c):

“y”回答会执行该任务,
”n”回答会跳过该任务,
而”c”回答则会继续执行剩余的所有任务而不再询问你.

以上是关于ansible-playbook运行步骤调度的主要内容,如果未能解决你的问题,请参考以下文章

运维自动化工具 Ansible-playbook

Ansible-playbook 针对不在清单文件中并包含组变量的任意主机运行

在 EC2 实例上使用用户数据脚本运行 ansible-playbook

如何获取 vsphere_virtual_machine 的 IP 来运行 ansible-playbook?

ansible-playbook(剧本)

ansible-playbook详解与简单应用