So verwenden Sie zusätzliche Vars in Ansible

So verwenden Sie zusätzliche Vars in Ansible
Ansible bietet Flexibilität durch die Verwendung von Variablen. Mit Variablen können Sie benutzerdefinierte Werte und Bedingungen bei der Ausführung von Ansible Playbooks festlegen. Obwohl Variablen in einem Spielbuch praktisch sind, müssen Sie das Spielbuch bearbeiten, wenn Sie Änderungen vornehmen müssen.

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:

  1. Sie haben eine Variable, deren Wert beim Ausführen des Playbooks mehrmals sich ändern kann.
  2. Sie müssen das Spielbuch nicht bearbeiten, um den Wert der Variablen im Spielbuch zu ändern.

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:

---
- Hosts: "Gruppe"
Werde: Ja
sammle_facts: nein
Aufgaben:
- Name: Installapache
geeignet:
Name: httpd
Zustand: Gegenwart
update_cache: Ja

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.

---
- Hosts: "Gruppe"
Werde: Ja
sammle_facts: nein
Aufgaben:
- Name: Installapache
Service:
Name: "pkg_name"
Zustand: Begonnen

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.