запустить задачу на ограниченном количестве хостов в группе, используя ansible - PullRequest
0 голосов
/ 29 апреля 2020

Team,

В основном цель состоит в том, чтобы запустить задачу только на N узлах от 1 до 10 в группе хостов. Попытка выяснить, каков наилучший способ добиться этого ... какие-либо идеи?

Вот моя попытка с параметром hosts, но задача выполняется на всех хостах.

У меня есть 10 хостов в группе hosts_gpu, но я хочу запустить задачу только на 1-3.

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

вывод:

all hosts affected

ожидается

host1
host2
host3

1 Ответ

1 голос
/ 29 апреля 2020

Поскольку @ Mamun уже упоминал, что вы можете использовать опцию --limit (или -l), чтобы ограничить выполнение playbook указанными c хостами.

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

Если hosts_gpu - это группа, в которой вы можете ограничить playbook, выполнив

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

. Или вы можете ограничить выполнение первыми тремя хостами в группе, используя Python запись среза списка.

ansible-playbook -i inventory_file playbook.yml --limit "hosts_gpu[0:3]"
...