在有限的主机上运行任务,使用 ansible

问题描述 投票:0回答:1

团队:

基本上,我们的目标是只在一个主机组的1-10个节点上运行一个任务.试图看看什么是实现这个目标的最佳可行方法......有什么见解吗?

这是我的尝试,使用hosts参数,但任务在所有主机上执行。

我在hosts_gpu组中有10台主机,但我想只在1-3台主机上运行任务。

ansible-playbook -i hosts_gpu[1:3] test.yml

输出。

all hosts affected

预期

host1
host2
host3
ansible ansible-2.x ansible-inventory ansible-facts
1个回答
1
投票

作为 @Mamun 已经说过,你可以用 --limit (或 -l)选项,以将游戏本的执行限制在特定的主机上。

ansible-playbook -i inventory_file playbook.yml --limit "host1:host2:host3"

如果 hosts_gpu 是一个组,那么你可以通过执行以下命令来限制游戏规则

ansible-playbook -i inventory_file playbook.yml --limit "hosts_gpu"

或者你可以使用Python list slicing符号将执行限制在组中的前三个主机。

ansible-playbook -i inventory_file playbook.yml --limit "hosts_gpu[0:3]"
© www.soinside.com 2019 - 2024. All rights reserved.