2017-08-10 15 views
0

IP /パスワード/キーファイルのパスなどが含まれているので、私の不可能なインベントリファイルを暗号化する必要があります。可能なインベントリファイルを暗号化する

これは私が試みたものです。

マイフォルダ構造が見えます(私は暗号化したいファイル)

[server-a] 
server-a-name 

[server-b] 
server-b-name 

[webserver:children] 
server-a 
server-b 

ENV/hosts_details

env/ 
    hosts 
    hosts_details 
plays/ 
    test.yml 
files/ 
    vault_pass.txt 

ENV /ホスト以下

[server-a:vars] 
env_name=server-a 
ansible_ssh_user=root 
ansible_ssh_host=10.0.0.1 
ansible_ssh_private_key_file=~/.ssh/xyz-key.pem 

[server-b:vars] 
env_name=server-b 
ansible_ssh_user=root 
ansible_ssh_host=10.0.0.2 
ansible_ssh_private_key_file=~/.ssh/xyz-key.pem 

test.yml

のような
--- 
    - hosts: webserver 
    tasks: 
     - name: Print Hello world 
     debug: 
      msg: "Hello World" 
暗号化なし

実行がエラーなく正常に実行され

ansible-playbook -i env/ test.yml 

私はENV/hosts_detailsは、ファイル/ vault_pass.txtでボールトファイルをファイルし、その後、私は以下のエラーを取得脚本を実行する暗号化

ansible-playbook -i env/ test.yml --vault-password-file files/vault_pass.txt 


PLAY [webserver] 
****************************************************************** 

TASK [setup] 
******************************************************************* 
Thursday 10 August 2017 11:21:01 +0100 (0:00:00.053)  0:00:00.053 ******* 
fatal: [server-a-name]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname server-a-name: Name or service not known\r\n", "unreachable": true} 
fatal: [server-b-name]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: Could not resolve hostname server-b-name: Name or service not known\r\n", "unreachable": true} 

PLAY RECAP 
********************************************************************* 
server-a-name   : ok=0 changed=0 unreachable=1 failed=0 
server-b-name   : ok=0 changed=0 unreachable=1 failed=0 

私は何かが紛失しているかどうかを知りたいのですが、在庫ファイルを暗号化することが可能です。

他にも同じ方法がありますか?

答えて

2

私が知る限り、インベントリファイルを暗号化することはできません。
代わりに、グループのvarsファイルを使用する必要があります。 YAMLフォーマットで./env/group_vars/server-a.ymlserver-b.yml

置きます変数:

env_name: server-a 
ansible_ssh_user: root 
ansible_ssh_host: 10.0.0.1 
ansible_ssh_private_key_file: ~/.ssh/xyz-key.pem 

そしてserver-a.ymlserver-b.ymlを暗号化します。

この方法では、インベントリ(ホストファイル)はプレーンテキストですが、すべてのインベントリ(ホストおよびグループ)変数は暗号化されます。

+0

Hey!ご返信ありがとうございます。私はこれを試して、私はこの 'error.ERROR!予期しない例外:辞書更新シーケンス要素#0の長さが1です。 2が必要です ' – shwetha

+0

'-vvv'冗長出力でエラーソースを確認してください。 –

+0

私の悪い!それはyaml構文エラーでした。これは働いています、あなたの助けに感謝します。 – shwetha