Управление конфигурацией Ansible-pull для крупномасштабной серверной фермы
Вот ситуация,
Я говорю 100 веб-серверов, 100 DB-серверов и 100 Backend-серверов. Все они управляются Ansible. Я хочу использовать Ansible-pull, чтобы облегчить нагрузку на узел Ansible Admin и ускорить процесс.
Вопрос в том, когда я запускаю ansible-pull на каждом узле в локальном режиме, как я могу применить определенную роль к этому узлу. Например, как узел веб-сервера узнает, что ему нужно применить роль веб-сервера к себе?
Я надеюсь, что я ясно дал понять.
1 ответ
Вы можете создать 'hostname'.yml
файл, так что только соответствующий хост будет запускать этот файл.yml.
Пример репо может содержать:
db1.yml
db2.yml
db3.yml
Тогда сервер с именем хоста 'db1' будет запускать только db1.yml
сборник пьес. Таким образом, в этой пьесе вы можете назвать все задачи и роли, которые она должна иметь.
Со страницы руководства:
ansible-pull будет искать пьесу на основе полного доменного имени хоста, имени хоста и, наконец, playbook с именем local.yml.