2017-10-11 3 views
0

これは私が尋ねようとしていることを使っている人の特定のドキュメントや例を見つけることができないので、かなり広い質問です。 、私はAZURE_TAGS =にを使用することができる午前Ansibleドキュメントのサイトで読んだhttps://github.com/ansible/ansible/blob/devel/contrib/inventory/azure_rm.pyPlaybooksでAzureタグを使用する

私はazure_rm.pyダイナミックな在庫を使用してAnsibleを経由して、それを展開することができ、正常AzureのARMテンプレートとを作成しました私が推測できるのは、マシンをデプロイするときに作成されたAzureタグを利用するので、プレイブックを使用して、定義したタグ付きマシンにのみ影響を与えることができます。

Azureのドキュメント:http://docs.ansible.com/ansible/latest/guide_azure.html

アイデアその設定を変更/更新するために、特定のタグ付きのマシンでプレイブックを実行することです。静的なAnabilitiesホストファイル内で定義されたグループに対して実行するのと同じように。

おそらく私はこれがすべて間違っています、これは私がやることではないかもしれませんが、私の人生のために、私はazure_tagsを使っている人の例はどこにもありません。私はそれがプレイブック内で定義されていても、それが議論であるとしても、私は分かりません。ガイドとしてこれを使用して

、12ステップ:http://codeheaven.io/15-things-you-should-know-about-ansible/

私はこの人がホストパラメータのタグオプションを利用しているかを確認することができ、私はこれをやったが、チェックするとき、マシンが発見されていませんダイナミック在庫に対して

誰でも正しい方向に案内してくれますか、それとももっと良い方法で、これらのタグシステムの仕組みの例を教えてください。

答えて

0

私がそうだったように気になる人、または私のように立ち往生した人は、ここに答えがあります。

以下の例では、プレイブックを実行するのではなく、特定のホストの選択に一致するホストに対してAnsible pingコマンドを実行します。

Azureのサブスクリプション内のすべての仮想マシンを選択します。

ansible azure -i ./azure_rm.py -m win_ping 

は(私たちはukwestとuksouth内のホストがある - 以前に作成したリソースグループから取られた)を所定の領域/ロケーション名にあるすべての仮想マシンを選択します。

ansible ukwest -i ./azure_rm.py -m win_ping 

SERVERROLEというタグを持つすべてのVMを選択するには、値WebServerの

ansible ServerRole_WebServer -i ./azure_rm.py -m win_ping 
に設定しました

私はそれらを識別するために特定のタグを使用していた仮想マシンを展開する場合、ここでは「AnsibleVM1」

# Run post build scripts on machines taggedd with AnsibleVM1 from commad line variable with "{{ hosts }}" 
# ansible-playbook scripts.yml -i azure_rm.py --extra-vars "hosts=displayName_AnsibleVM1" --ask-vault-pass 

- hosts: "{{ hosts }}" 
    gather_facts: no 

    vars_files: 
    - ./vars/vault.yml 
    - ./vars/vars.yml 

    tasks: 
    - include_vars: vault.yml 
    - name: formatDataDisk script 
    script: ./files/formatDataDisk.ps1 

    - name: prepMachine script 
    script: ./files/prepMachine.ps1 

    - name: Reboot machine to apply scripts 
    win_reboot: 

の「のdisplayName」タグに対して脚本を使用した例であり、ここで、私はそれを実行するために使用されるコマンドラインです。変数がコマンドラインに含まれているので、その名前をその場で変更することができます。

ansible-playbook scripts.yml -i azure_rm.py --extra-vars "hosts=displayName_AnsibleVM1" --ask-vault-pass 
関連する問題