2017-07-16 14 views
0

私は新しいことができません。私はいくつかのlxcコンテナでの使用を試みています。 私の問題は、自分のコンテナにsshをインストールしたくないということです。SSHを使用しないLXCコンテナを使用しています

私は、この接続pluginを使用しようとしましたが、それはそれはchifflier接続プラグインが動作しないことを理解した後ansible 2.
では動作しないことを縫い目、私が使用してみました:私が試したどのようなので

接続プラグインはopenstackです。

は、いくつかは、私は、コードの中に潜っ回失敗すると、私はプラグインが私が話しているホストがコンテナであるという情報を持っていないこと を理解しています。

(コードは、この pointに達したことがないので)

私の現在の設定: {Ansbileホスト} --- |のssh | --- {VM} - | ansible接続プラグイン| --- {container1}

マイansible.cfg:

[defaults] 
connection_plugins = /home/jkarr/ansible-test/connection_plugins/ssh 
inventory = inventory 

私の目録:

[hosts] 
vm ansible_host=192.168.28.12 

[containers] 
mailserver physical_host=vm container_name=mailserver 

私のグループはvarsの:

ansible_host: "{{ physical_hostname }}" 
ansible_ssh_extra_args: "{{ container_name }}" 
ansible_user: containeruser 
container_name: "{{ inventory_hostname }}" 
physical_hostname: "{{ hostvars[physical_host]['ansible_host'] }}" 

私のテスト脚本:

- name: Test Playbook 
    hosts: containers 
    gather_facts: true 
    tasks: 
    - name: testfile 
     copy: 
     content: "Test" 
     dest: /tmp/test 

出力は次のとおりです。

fatal: [mailserver]: UNREACHABLE! => { 
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname mailserver: No address associated with hostname\r\n", 
    "unreachable": true 
} 

Ansibleのバージョンがある:2.3.1.0

どうしたの?任意のヒント? ありがとうございます!

アップデート1:
私は今、この接続plug-inを使用していますeric answerに基づいています。 私は私のインベントリを更新し、それは次のようになります。

[hosts] 
vm ansible_host=192.168.28.12 

[containers] 
mailserver physical_host=vm ansible_connection=lxc 

私の脚本を実行した後、私が取った:192.168.28.12 VMがあるとコンテナがメールサーバと呼ばれているので、奇妙です

<192.168.28.12> THIS IS A LOCAL LXC DIR 
fatal: [mailserver]: FAILED! => { 
    "failed": true, 
    "msg": "192.168.28.12 is not running" 
} 

を。また、コンテナが動作していることを確認しました。

なぜ192.168.28.12はローカルのlxcディレクトリであると言われていますか?

アップデート2:私は私のgroup_vars、私ansible.cfgと脚本からの接続プラグインを削除し、私はこのエラーまし

:あなたはこれを見てとるべき

<mailserver> THIS IS A LOCAL LXC DIR 
fatal: [mailserver]: FAILED! => { 
    "failed": true, 
    "msg": "mailserver is not running" 
} 
+0

このエラーは、ホストメールサーバーに、AnsibleインベントリファイルのIPが割り当てられていないことを示しています。ホストのIPを設定して再試行できますか? – Tejaswi

+0

@Tejaswi私は 'mailserver'をコンテナの割り当てられたIPに変更しようとしましたが、同じエラーが発生しました。 –

+0

@jkarrあなたの 'group_vars'は' ansible_host 'をオーバーライドしています。 'group_vars'を使わずに単純な' debug'を試すことができますか? –

答えて

2

lxc connection plugin。それはあなたのニーズに合うかもしれません。

編集:lxc接続プラグインは実際にはAnipalの一部です。

ansible_connection=lxcを在庫またはグループのヴァルスに追加するだけです。

+0

ありがとう!あなたが推薦する接続プラグインがもう少し私を得たようです。私の「新しい問題」の詳細については、私の質問の更新1を参照してください。 –

関連する問題