Чтобы использовать членство в группе в условном выражении для задачи, воспроизведения или блокировки, вы должны использовать формат:
когда: inventory_hostname в группах["<имя группы>"]
Конкретно на ваш первоначальный вопрос:
когда: inventory_hostname в группах["серверы приложений"]
Чтобы добраться до всех машин под к северу
, вы просто измените его на:
когда: inventory_hostname в группах["север"]
Что касается вашего последующего уточнения (указание группы в определенном «местоположении»), поскольку имена групп должны быть уникальными в ansible, нет необходимости различать который серверы приложений
группа, которую вы имеете в виду, как серверы приложений
может быть только в одном месте.
Если вы попытаетесь создать два серверы приложений
групп, только первая будет фактически проанализирована движком ansible; любая последующая группа с тем же именем будет игнорироваться. Итак, если вы планируете (в будущем) иметь серверы приложений
группа под к северу
и серверы приложений
группа под юг
, вы обнаружите, что будут включены только участники из первой группы.
В ansible, как мы этого достигаем (мое предположение о том, что вы май хотите в будущем), доступный способ продолжить — добавить хосты в несколько групп, например так, и соответствующим образом настроить свой лимит или условие:
все:
дети:
к северу:
хосты:
а.домен.com:
b.домен.com:
юг:
хосты:
y.domain.com:
z.домен.com:
серверы приложений:
хосты:
а.домен.com:
y.domain.com:
серверы баз данных:
хосты:
b.домен.com:
z.домен.com:
В этом примере, если вы хотите все серверы приложений, вы просто нацеливаетесь серверы приложений
. Если бы ты хотел только серверы приложений
в к северу
региона, то вы бы установили ограничение на игру до север:&серверы приложений
, или, альтернативно, используйте условное
когда:
- inventory_hostname в группах["серверы приложений"]
- inventory_hostname в группах["север"]
В любом случае, я думаю, вам может понадобиться освежить в памяти структуру инвентаря в ansible, для этого я бы порекомендовал гид пользователя; на различных обучающих сайтах также есть несколько отличных ресурсов, в которых можно найти гораздо более подробные сведения.
Для получения дополнительной информации о более сложном таргетинге с использованием нескольких групп (комбинаций, объединений, исключений и т. д.) я предлагаю вам ознакомиться с этим другим гид пользователя.
Лично я сначала подумал, что настройка утомительна и ограничена, но по мере того, как я лучше знакомился с ее использованием, я на самом деле нахожу ее более динамичной, чем альтернатива.