Localhostホストに対してプレイブックを起動すると、このエラーが発生します。
TASK [setup] *******************************************************************
fatal: [127.0.0.1]: UNREACHABLE! => {"changed": false, "msg": "SSH encountered an unknown error during the connection. We recommend you re-run the command using -vvvv, which will enable SSH debugging output to help diagnose the issue", "unreachable": true}
to retry, use: --limit @deploy-test-env.retry
PLAY RECAP *********************************************************************
127.0.0.1 : ok=0 changed=0 unreachable=1 failed=0
そして、私のhostsファイルにはこの設定があります:
[local]
127.0.0.1
何が問題ですか?
ありがとう!
デフォルトでは、Ansibleはsshを介して接続しようとします。 localhostの場合、接続をlocal
に設定する必要があります。
プレイブックを呼び出すときにこれを定義できます。
ansible-playbook playbook.yml --connection=local
プレイブックで定義してください:
- hosts: local
connection: local
または、localhost/127.0.0.1のホスト変数として定義することをお勧めします。ファイルを作成するHost_vars/127.0.0.1
このコンテンツを含むあなたのプレイブックに相対的:
ansible_connection: local
インベントリにグループ変数として追加することもできます:
[local]
127.0.0.1
[local:vars]
ansible_connection=local
またはホスト変数として:
[local]
127.0.0.1 ansible_connection=local
ドキュメントの動作パラメータ を参照してください。
私にとってうまくいくのは、ローカルホストをインベントリに含めず、ホストパターンでのみ指定することです。
つまりホスト:localhost
これは、ansibleへのローカル接続を意味するようです
もっと簡単にできます。
ansible.cfgファイルの[defaults]セクションの下に、次の行を貼り付けます。
transport = local