1

Я нахожусь на машине Mac.загружаемая игра [setup] собирает факты - SSH UNREACHABLE Время соединения завершено во время баннера

$ which ansible 
/Library/Frameworks/Python.framework/Versions/3.5/bin/ansible 

или я предполагаю, ansible может находиться в общей папке: /usr/bin/ansible (напр: на CentOS/Ubuntu).

$ ansible --version 
ansible 2.2.0.0 

Выполнение следующей пьесы отлично работает с моей другой бродягой/Ubuntu.

Playbook файл выглядит следующим образом:

- hosts: all 
    become: true 
    gather_facts: true 

    roles: 
    - a_role_which_just_say_hello_world_debug_msg 

С моей локальной машине, я могу успешно ssh для целевых серверов/следующий сервер (без пароля, как я уже добавили .pem файл ключа с помощью ssh-add) , который не работает в файле Ansible playbook's [Setup] (соберите факты) в режиме Ansible playbook.

На машине Mac я иногда получаю эту ошибку (не каждый раз). Ошибка: Failed to connect to the host via ssh: Connection timed out during banner exchange. PS: этот вопрос не приходит все время.

$ ansible-playbook -i inventory -l tag_cluster_mycluster myplabook.yml 

PLAY [all] ********************************************************************* 

TASK [setup] ******************************************************************* 
ok: [myclusterSomeServer01_i_07f318688f6339971] 
fatal: [myclusterSomeServer02_i_03df6f1f988e665d9]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: Connection timed out during banner exchange\r\n", "unreachable": true} 

OK, пытался пару раз, то же самое поведение, из 15 серверов (что у меня есть в mycluster кластере), установка [SETUP] происходит сбой во время установки сбора фактов и в следующий раз он работает нормально.

повторен: $ анзибль-Playbook -i инвентарный -l tag_cluster_mycluster myplabook.yml

PLAY [all] ********************************************************************* 

TASK [setup] ******************************************************************* 
ok: [myclusterSomeServer01_i_07f318688f6339971] 
ok: [myclusterSomeServer02_i_03df6f1f988e665d9] 
ok: [myclusterSomeServer03_i_057dfr56u88e665d9] 
... 
.....more...this time it worked for all servers. 

Как вы видите выше, на этот раз выше шаг работал отлично. Такая же проблема (время ожидания SSH) происходит во время некоторых задач/действий (где я пытаюсь установить что-то с помощью модуля Ansible yum.Если я попробую снова, он отлично работает для сервера, который потерпел неудачу в последний раз, но тогда он может неудача для другого сервера, который был успешным в последний раз Таким образом, поведение является случайным

Моего файла /etc/ansible/ansible.cfg есть:..

[ssh_connection] 
scp_if_ssh = True 

ответ

2

Добавление следующей timeout настройки в/и т.д./анзибль Файл config /ansible.cfg работал, когда я увеличил его до 25. Когда это было 10 или 15, я по-прежнему видел ошибки на некоторых серверах из-за ошибки баннера тайм-аута соединения.

[defaults] 
timeout = 25 

[ssh_connection] 
scp_if_ssh = True 

Помимо вышеперечисленного, я должен был использовать serial: N или serial: N% (где N это номер), чтобы запустить мой сборник пьес по числу N или процент серверов в то время, затем он работал отлично.

т.е.

- hosts: all 
    become: true 
    gather_facts: true 
    serial: 2 
    #serial: "10%" 
    #serial: "{{ serialNumber }}" 
    #serial: "{{ serialNumber }}%" 

    vars: 
    - serialNumber: 5 

    roles: 
    - a_role_which_just_say_hello_world_debug_msg 

 Смежные вопросы

  • Нет связанных вопросов^_^