У Ansible нет собственного демона или протокола. Связь с удаленными хостами осуществляется по существующим протоколам управления. Скорее всего, SSH для POSIX-боксов, WinRM для Windows или различные API-интерфейсы командной строки http или ssh для сетевого оборудования. Хотя я предлагаю хорошо известные порты для каждого, номер порта можно изменить в большинстве подключаемых модулей.
Чтобы соединить различные сети, рассмотрите эту вещь, о которой вы, возможно, слышали, называемую маршрутизатором. Возможно, ваша политика безопасности позволяет узлам управления в определенной зоне удаленно подключаться к каждой из этих сетей. Такая централизация, как правило, проще в управлении и обеспечивает соответствие требованиям на всех хостах. Если это не разрешено, обязательно запустите Ansible на хостах в каждом сегменте.
Ничто не мешает работать против каждого хоста в инвентаре. Количество хостов в одной игре ограничено производительностью, существуют ограничения масштабируемости. Количество вилок по умолчанию, работающих в цикле хостов, равно 5, его необходимо увеличить для обработки в разумные сроки. Однозначное тысячное количество хостов возможно на контроллере с подходящими ресурсами. смутно припоминаю из IRC кто-то пытается использовать более 50 000 хостов, многие из которых ограничены одной потоковой функцией в ansible-core.
На самом деле вам не нужен ssh для управления хостами. ansible-pull — контрпример, другой способ запуска.На управляемых хостах установите и запланируйте в cron ansible-pull, который загружает плейбук и запускает сам себя. Меньшая потребность во входящих привилегированных соединениях управления. И предел масштабируемости другой, когда каждый хост становится контроллером ansible.