2017-12-29 10 views
1

Ich habe gerade mit ansible begonnen und bin erfolgreich in der Lage gewesen, ansible zu konfigurieren, um dynamisches Inventar von GCP zu erhalten.Ansible - GCP Dynamisches Inventar & Tags

Ich kann das Ping-Modul gegen alle Instanzen erfolgreich auszuführen:

ansible -i ~/git/ansible/inventory all -m ping 

Ich bin auch in der Lage das Ping-Modul gegen eine einzelne Instanz erfolgreich ausgeführt werden basierend auf Host-Namen:

ansible -i ~/git/ansible/inventory instance-2 -m ping 

I würde jetzt gerne Tags verwenden, um Instanzen zu gruppieren. Zum Beispiel habe ich von Instanzen festgelegt, die markiert sind ‚env: dev‘ https://www.evernote.com/l/AfcLWLkermxMyIK7GvGpQXjXdIDFVAiT_z0

ich versucht haben, mehrere Variationen des Befehls unten ohne Glück

ansible -i ~/git/ansible/inventory tag_env:dev -m ping 

Wie kann ich filtern und gruppieren meine dynamische Bestands auf GCP?

Antwort

1

Also müssen Sie Netzwerk-Tag in Instanz-Einstellungen nicht Etiketten ich weiß nicht warum, aber gce.py gibt keine GCP-Etiketten, so dass Sie nur Netzwerk-Tags verwenden können, die begrenzt ist (ich meine nicht Schlüssel = Wert aber nur Wert) zum Beispiel Netzwerk-Tag nur ‚dev‘ hinzufügen und dann ansible -i ~/git/ansible/inventory tag_dev -m ping auch ausführen, wenn Sie nach wenigen Tags filtern müssen nur so fand ich es

- name: test stuff 
    hosts: tag_api:&tag_{{ environment }} 
    var_files: 
    vars/{{ environment }} 
    vars/api 

    tasks: 
    - name: test 
     command: echo "test" 

Lauf-Textbuch wie dieses ansible-playbook -i inventory/ -u user playbook/test.yml -e environment=dev

vielleicht jemand weiß besser, mit aws ec2.py könnte ich fi lter in ec2.ini config aber gce.py sehr begrenzt auch ich bemerkte, dass manchmal müssen Sie Cache gce.py --refresh-cache

löschen
Verwandte Themen