1

私はMacマシンを使用しています。アシスタントプレイブック[セットアップ]ファクトの収集 - SSH UNREACHABLEバナー中の接続のタイムアウト

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

またはI推測し、ansibleは、一般的な位置に配置することができます。/usr/bin/ansible(例のために:CentOSの/ Ubuntuの上で)。

$ ansible --version 
ansible 2.2.0.0 

次のプレイブックを実行すると、他の異動/ Ubuntuボックスから正常に動作します。

脚本ファイルは次のようになります。私のローカルマシンから

- hosts: all 
    become: true 
    gather_facts: true 

    roles: 
    - a_role_which_just_say_hello_world_debug_msg 

、私は正常にsshターゲットサーバー/次のサーバにすることができます(任意のパスワードなしの私はすでにssh-addを使用しての.pemキーファイルを追加したもの)これは、Ansibleプレイブックの[Setup](事実のステップを収集)で失敗しています。

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]セットアップが集まる事実の設定とそれがうまく働いている次回の間に障害が発生しているの外に、数回、同じ動作を試してみました。

が再試行:あなたは上記を参照したよう-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. 

$ ansible-脚本-iインベントリは、この時間は、上記のステップがうまく働きました。いくつかのタスク/アクションの間に、同じ問題(SSH接続のタイムアウト)が発生しています(ここでは、Anecess yumモジュールを使用して何かをインストールしようとしていますが、もう一度試してみると前回失敗したサーバでうまく動作します。前回成功した別のサーバーで失敗したがって、行動がランダムで

マイ/etc/ansible/ansible.cfgファイルがあります。。

の/ etc/ansibleに次のtimeout設定を追加
[ssh_connection] 
scp_if_ssh = True 

答えて

2

/ansible.cfg設定ファイルは25に増やしたときに動作しました。10または15のとき、接続タイムアウトバナーの問題により、一部のサーバでエラーが発生しました。

[defaults] 
timeout = 25 

[ssh_connection] 
scp_if_ssh = True 

上記とは別に、私はそれがうまく働いた、一度にサーバのN数またはパーセントの私の脚本を実行する(Nは数字です)serial: Nまたはserial: 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 
関連する問題