Ansible 'wait_for_connection' «Ошибка чтения баннера протокола S SH» (тайм-аут) из модуля Kubernetes - PullRequest
0 голосов
/ 18 июня 2020

Короткий фон;
Я создал мастер 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"}

Дополнительная информация:

  1. Соединение осуществляется с publi c IP, у меня есть te lnet, работающий на IP-адрес хоста с рабочего узла EKS (EC2 ).
  2. Тот же самый модуль работает, если его запускает мастер (EC2).
  3. Оба 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 изнутри модуля на другой хост?

1 Ответ

0 голосов
/ 18 июня 2020

Для тех, кто сталкивается с той же проблемой, я нашел причину этого, некоторые изменения должны быть внесены в ansible .cfg:

host_key_checking = False
record_host_keys=False
...