Вот ситуация,

Я сказал 100 веб-серверов, 100 DB-серверов и 100 Backend-серверов. Все они управляются Ansible. Я хочу использовать Ansible-pull, чтобы облегчить нагрузку на узел Ansible Admin и ускорить процесс.

Вопрос в том, когда я запускаю ansible-pull на каждом узле в локальном режиме, как я могу применить определенную роль к этому узлу. Например, как узел веб-сервера узнает, что ему нужно применить роль веб-сервера к себе?

Надеюсь, я ясно дал понять.

1 ответ1

0

Вы можете создать файл 'hostname'.yml чтобы только соответствующий хост запускал этот файл .yml.

Пример репо может содержать:
db1.yml
db2.yml
db3.yml

Тогда сервер с именем хоста 'db1' будет запускать только playbook db1.yml . Таким образом, в этой пьесе вы можете назвать все задачи и роли, которые она должна иметь.

Со страницы руководства:

ansible-pull будет искать playbook на основе полного доменного имени хоста, имени хоста и, наконец, playbook с именем local.yml.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .