Sie können dies überwinden, indem Sie externe Eingaben in ein Ansible Playbook mit zusätzlichen Variablen verwenden.
In diesem Artikel wird er erfahren, wie Sie ansible zusätzliche Variablen verwenden, um benutzerdefinierte oder dynamische Werte bereitzustellen, ohne die Playbooks zu bearbeiten.
Was ist ansible extra vars?
Ansible Extra VARs ist eine Funktion, mit der Sie mehr Flexibilität in Ihre Ansible -Playbooks aufnehmen können, indem Sie Ihnen die Möglichkeit bieten, dynamische Werte bei der Ausführung des Playbooks anzugeben.
Ansible Extra Vars sind hilfreich, wenn:
So verwenden Sie Ansible Extra Vars
Ansible Extra Vars überschreiben den Wert, der in einem Spielbuch oder einer variablen Datei gespeichert ist. Sie werden auch als Befehlszeilenvariablen bezeichnet.
Sehen wir uns nun ein Beispiel für die Verwendung zusätzlicher Vars an.
Ein typisches Beispiel für die zusätzlichen Vars in Ansible ist, wenn Sie den Wert der Hosts fest codieren. Angenommen, Sie haben ein Playbook, das auf Hosts mit der Gruppe „Entwicklung“ ausgeführt wird, wenn Sie das Playbook auf „Produktion“ -Hosts ausführen müssen. Sie werden gezwungen sein, das Spielbuch zu bearbeiten.
Dies kann ermüdend und anfällig für Fehler sein, insbesondere bei einer umfangreichen Sammlung von Gastgruppen.
Um dieses Problem zu lösen, können wir die Ansible Extra VARs -Funktion verwenden. Wir können eine Variable definieren, die die Gruppe der Hosts darstellt und ihren Wert beim Ausführen des Spielbuchs angeben.
Betrachten Sie das Beispiel -Spielbuch unten:
---Nachdem wir ein Beispiel für Spielbuch wie oben haben, können wir den Wert an die Variable „Gruppen“ über die Option für -extra -vars übergeben, während wir das Spielbuch ausgeführt haben.
Ein Beispielbefehl lautet wie gezeigt:
Ansible-Playbook-Beispiel.YML -extra -vars "Group = Produktion"Um die Gruppe in „Entwicklung“ zu ändern, müssen Sie das Spielbuch nicht bearbeiten. Gib die Variable wie gezeigt:
Ansible-Playbook-Beispiel.YML-extra-vars "Gruppe = Entwicklung"Im folgenden Beispiel wird zusätzliche VARs verwendet, um den Dienst anhand der Zielverteilung anzugeben, um zu starten.
---Mit dem oben genannten Spielbuch können wir die zusätzlichen Variablen als:
Ansible-Playbook-Beispiel.yML --extra-vars "Gruppe = Entwicklung pkg_name = apache2"Wenn Sie Variablen mit Leerzeichen übergeben möchten, verwenden Sie einzelne Anführungszeichen, wie im folgenden Beispiel gezeigt:
Ansible-Playbook-Beispiel.yML --extra -vars "protocol = 'all -slv2'"Abschluss
In diesem Tutorial wird veranschaulicht. Überprüfen Sie die Dokumentation, um mehr zu erfahren.