Ansible открывает сотни соединений S SH вместо повторного использования одного - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть просто-я sh ansible playbook, который развертывает некоторые программы на удаленных хостах. Когда я запускаю его с -vvv, я вижу сотни следующих сообщений:

[2020-04-07 17:22:29] <54.234.19.60> ESTABLISH SSH CONNECTION FOR USER: centos

Каждое из них будет занимать около полсекунды в общей сложности несколько минут на развертывание.

Как заставить Ansible открывать одно соединение S SH на хост при запуске работы, выполнять все его операции через это соединение, закрывать его, когда вся работа завершена?

1 Ответ

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

Попробуйте добавить:

[ssh_connection]
pipelining = True

в ansible.cfg

https://docs.ansible.com/intro_configuration.html#pipelining

Дополнительно вы можете попробовать добавить ControlPersist:

[ssh_connection]
pipelining = True
control_path = /tmp/ansible-ssh-%%h-%%p-%%r
#or simply:
#control_path = /tmp

к тому же разделу в файле cfg.

...