Короткий фон;
Я создал мастер Jenkins на EC2 и подключил кластер Kubernetes в качестве рабочего (Amazon EKS).
Я использовал плагин Kubernetes и создал подчиненный образ jnlp, который имитирует установки мастера, версии и предварительные условия.
Все работало, как ожидалось, пока я не выполнил модуль 'wait_for_connection' сразу после создания экземпляра;
- name: Wait for system to become reachable
hosts: just_created
remote_user: "{{ remote_image_user }}"
gather_facts: false
become: True
become_user: root
vars:
remote_image_user: "ec2-user"
tasks:
- name: Wait for system to become reachable
wait_for_connection:
Ошибка тайм-аута, полученная от рабочего модуля:
fatal: FAILED! => {"changed": false, "elapsed": 600, "msg": "timed out waiting for ping module test success: Error reading SSH protocol banner"}
Дополнительная информация:
- Соединение осуществляется с publi c IP, у меня есть te lnet, работающий на IP-адрес хоста с рабочего узла EKS (EC2 ).
- Тот же самый модуль работает, если его запускает мастер (EC2).
- Оба jenkins master и pod имеют одинаковые Ansible --version:
ansible 2.7.10
config file = None
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
executable location = /usr/local/bin/ansible
python version = 3.6.8 (default, Jun 16 2020, 13:32:18) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
Что мне не хватает? почему ansible борется с S SH изнутри модуля на другой хост?