Возможность развертывания на хосте Windows за бастионом - PullRequest
7 голосов
/ 12 апреля 2019

В настоящее время я успешно использую Ansible для запуска задач на хостах, которые находятся в частной подсети в AWS, которую настраивает приведенная ниже group_vars:

ansible_ssh_common_args: '-o ProxyCommand="ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -W %h:%p -q ec2-user@bastionhost@example.com"'

Это работает нормально.

Для экземпляров Windows, не входящих в частную подсеть, работают следующие group_vars:

---
ansible_user: "AnsibleUser"
ansible_password: "Password"
ansible_port: 5986
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore

Теперь попытка получить Ansible для развертывания на сервере Windows за бастионом, просто используя ProxyCommand, не будет работать - что яПонимаю.Я полагаю, что есть новый протокол / модуль, который я могу использовать под названием psrp.

Я полагаю, что мои group_vars для моих хостов Windows должны измениться на что-то вроде этого:

---
ansible_user: "AnsibleUser"
ansible_password: "Password"
ansible_port: 5986
ansible_connection: psrp
ansible_psrp_cert_validation: ignore

ЕслиЯ работаю только с вышеуказанными изменениями в отношении общедоступных экземпляров (и не пытаюсь подключиться через бастион), моя задача, кажется, работает нормально:

Using module file /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ansible/modules/windows/win_shell.ps1
<10.100.11.14> ESTABLISH PSRP CONNECTION FOR USER: Administrator ON PORT 5986 TO 10.100.11.14
PSRP: EXEC (via pipeline wrapper)

Я знаю, что прежде чем я смогу сделать больше измененийпопробуйте это на сервере Windows за бастионом, но все равно запустите его, чтобы увидеть, какие ошибки я получаю, чтобы подсказать, что делать дальше.Вот результат при выполнении этого на мгновении за бастионным сервером:

Using module file /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ansible/modules/windows/setup.ps1
<10.100.11.14> ESTABLISH PSRP CONNECTION FOR USER: Administrator ON PORT 5986 TO 10.100.11.14
The full traceback is:
.
.
.
.
ConnectTimeout: HTTPSConnectionPool(host='10.100.11.14', port=5986): Max retries exceeded with url: /wsman (Caused by ConnectTimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at 0x110bbfbd0>, 'Connection to 10.100.11.14 timed out. (connect timeout=30)'))

Кажется, что Ansible игнорирует мои group_vars для ProxyCommand - что я не уверен, ожидаемо ли это.Я также не уверен, что последующие шаги позволят развернуть Ansible на серверах Windows за бастионом.

Какие настройки мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...