团队:
基本上,我们的目标是只在一个主机组的1-10个节点上运行一个任务.试图看看什么是实现这个目标的最佳可行方法......有什么见解吗?
这是我的尝试,使用hosts参数,但任务在所有主机上执行。
我在hosts_gpu组中有10台主机,但我想只在1-3台主机上运行任务。
ansible-playbook -i hosts_gpu[1:3] test.yml
输出。
all hosts affected
预期
host1
host2
host3
作为 @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]"