如何 运行 分别为每个服务器执行 Ansible 任务
How to run Ansible tasks for each server separately
我有如下清单文件。
[all:vars]
ansible_user=root
zookeeper_new=true
[zookeepers]
10.16.0.31
10.16.0.32
在我声明任务的 .yml 文件中,我想 运行 所有这些任务首先在服务器 31 中,然后在服务器 32 中。这可能吗?如果可以,我该怎么做?
目前,它运行在两台服务器上都是单任务,然后跳转到下一个任务。举个例子;
TASK [Zookeeper/Zookeeper-New : Stop and disable existing zookeeper service] ***
ok: [10.16.0.31]
ok: [10.16.0.32]
TASK [Zookeeper/Zookeeper-New : Find previous zookeeper version directories] ***
ok: [10.16.0.32]
ok: [10.16.0.31]
相反,我想要的是
TASK [Zookeeper/Zookeeper-New : Stop and disable existing zookeeper service] ***
ok: [10.16.0.31]
TASK [Zookeeper/Zookeeper-New : Find previous zookeeper version directories] ***
ok: [10.16.0.31]
TASK [Zookeeper/Zookeeper-New : Stop and disable existing zookeeper service] ***
ok: [10.16.0.32]
TASK [Zookeeper/Zookeeper-New : Find previous zookeeper version directories] ***
ok: [10.16.0.32]
您应该考虑为什么需要这样做,以及是否可以使用“正常”方式实现您的目标。
如果你真的需要按照你描述的方式去做,请在你的剧本上设置 serial: 1
。这将导致一台主机接一台主机。
例如:
---
- name: test play
hosts: zookeepers
serial: 1
tasks:
- name: task one
command: hostname
查看文档以获取更多信息:
我有如下清单文件。
[all:vars]
ansible_user=root
zookeeper_new=true
[zookeepers]
10.16.0.31
10.16.0.32
在我声明任务的 .yml 文件中,我想 运行 所有这些任务首先在服务器 31 中,然后在服务器 32 中。这可能吗?如果可以,我该怎么做?
目前,它运行在两台服务器上都是单任务,然后跳转到下一个任务。举个例子;
TASK [Zookeeper/Zookeeper-New : Stop and disable existing zookeeper service] ***
ok: [10.16.0.31]
ok: [10.16.0.32]
TASK [Zookeeper/Zookeeper-New : Find previous zookeeper version directories] ***
ok: [10.16.0.32]
ok: [10.16.0.31]
相反,我想要的是
TASK [Zookeeper/Zookeeper-New : Stop and disable existing zookeeper service] ***
ok: [10.16.0.31]
TASK [Zookeeper/Zookeeper-New : Find previous zookeeper version directories] ***
ok: [10.16.0.31]
TASK [Zookeeper/Zookeeper-New : Stop and disable existing zookeeper service] ***
ok: [10.16.0.32]
TASK [Zookeeper/Zookeeper-New : Find previous zookeeper version directories] ***
ok: [10.16.0.32]
您应该考虑为什么需要这样做,以及是否可以使用“正常”方式实现您的目标。
如果你真的需要按照你描述的方式去做,请在你的剧本上设置 serial: 1
。这将导致一台主机接一台主机。
例如:
---
- name: test play
hosts: zookeepers
serial: 1
tasks:
- name: task one
command: hostname
查看文档以获取更多信息: