Ansible

So verwenden Sie Ansible Galaxy

So verwenden Sie Ansible Galaxy
Ansible Galaxy ist ein Rollen- und Sammlungsmanager für Ansible. Vergleichbar mit dem NPM (Node Package Manager) Paketmanager von Node.js.

Ansible Galaxy hostet Ansible-Rollen und -Sammlungen, die von der Community erstellt wurden. Anstatt sie von Grund auf neu zu schreiben, können Sie sie mit dem Ansible Galaxy-Befehlszeilentool auf Ihrem Computer installieren und in Ihren Playbooks verwenden.

Sie können auch Ihre Rollen und Sammlungen schreiben und auf Ansible Galaxy hochladen upload. Dies würde den Rahmen dieses Artikels sprengen.

In diesem Artikel zeige ich Ihnen, wie Sie mit dem Ansible Galaxy-Befehlszeilentool Ansible Galaxy-Rollen und -Sammlungen installieren und in Ihrem Playbook verwenden play. Also lasst uns anfangen.

Voraussetzungen:

Wenn Sie die Beispiele dieses Artikels ausprobieren möchten,

1) Sie müssen Ansible auf Ihrem Computer installiert haben.

2) Sie müssen mindestens 2 Linux-Hosts (ein Debian 10 und ein CentOS 7) für die Ansible-Automatisierung konfiguriert haben.

Es gibt viele Artikel auf LinuxHint, die sich mit der Installation von Ansible und der Konfiguration von Hosts für die Ansible-Automatisierung beschäftigen. Sie können sie bei Bedarf überprüfen.

Einrichten eines Projektverzeichnisses:

Bevor wir beginnen, erstellen wir ein Projektverzeichnis, damit wir unsere Projektdateien organisieren können.

So erstellen Sie ein Projektverzeichnis Galaxie-Demo/ in deinem ZUHAUSE Verzeichnis, führen Sie den folgenden Befehl aus:

$ mkdir -pv galaxy-demo/playbooks,vars

Navigieren Sie nun zum Galaxie-Demo/ Verzeichnis wie folgt:

$ CD Galaxie-Demo/

Erstellen Sie eine Ansible-Konfigurationsdatei ansible.cfg in Ihrem Projektverzeichnis wie folgt:

$ nano ansible.cfg

Geben Sie in den folgenden Zeilen Ihre ansible.cfg Datei.

[Standardwerte]
Inventar           = Gastgeber
host_key_checking   = Falsch

Wenn Sie fertig sind, drücken Sie + X gefolgt von Ja und um die zu retten ansible.cfg Konfigurationsdatei.

Erstellen Sie eine Ansible-Inventardatei Gastgeber in Ihrem Projektverzeichnis wie folgt:

$ Nano-Hosts

Geben Sie die folgenden Zeilen in Ihr . ein des Gastgebers Inventardatei.

[Datenbank]
vm1.Knotendrachen.com
[Netz]
vm9.Knotendrachen.com

Hier, vm1.Knotendrachen.com ist ein Debian 10-Host, und vm9.Knotendrachen.com ist ein CentOS 7-Host.

Wenn Sie fertig sind, drücken Sie + X gefolgt von Ja und um die zu retten Gastgeber Inventardatei.

Um zu überprüfen, ob Sie die Remote-Ansible-Hosts von Ihrem Computer aus anpingen können, führen Sie den folgenden Befehl aus:

$ ansible all -u ansible -m ping

Wie Sie sehen können, kann ich meine Remote-Ansible-Hosts vm1 anpingen.Knotendrachen.com und vm9.Knotendrachen.com.

Nach Ansible Galaxy-Rollen und -Sammlungen suchen:

Sie können auf der offiziellen Website von Ansible Galaxy nach Ansible Galaxy-Rollen und -Sammlungen suchen.

Klicken Sie nach dem Laden der Webseite auf das Suchsymbol, um nach Ansible Galaxy-Rollen und -Sammlungen zu suchen.

Geben Sie nun ein, wonach Sie suchen, und klicken Sie auf das Suchsymbol.

In diesem Beispiel habe ich gesucht nach MySQL-Serverl. Wie Sie sehen, wird das Suchergebnis angezeigt.

Der Suchbegriff MySQL-Serverl 2 Kollektionen und viele Rollen zurückgegeben.

Eine Rolle ist ein Ansible-Modul, das bestimmte Dinge tut. Eine Sammlung hat viele Rollen. Das ist der Hauptunterschied zwischen einer Rolle und einer Sammlung.

Um weitere Informationen zu einer Rolle anzuzeigen, klicken Sie auf die Rolle.

Das Einzelheiten Registerkarte eines Rollenpakets zeigt technische Informationen zur Rolle an.

Das Liesmich Registerkarte zeigt die Installations- und Nutzungsinformationen der Rolle an.

Auf die gleiche Weise enthält ein Sammelpaket Installationsinformationen zu den Einzelheiten Tab.

Auf der Inhalt Registerkarte werden die Rollen angezeigt, die die Sammlungen installieren werden.

Das Liesmich Registerkarte zeigt nützliche Informationen über die Sammlung an.

Installieren und Verwenden von Ansible Galaxy-Rollen:

In diesem Abschnitt zeige ich Ihnen, wie Sie eine Ansible Galaxy-Rolle installieren und verwenden. Also lasst uns anfangen.

Sagen wir; Sie möchten die Ansible Galaxy-Rolle installieren geerlingkerl.mysql.

Führen Sie dazu den folgenden Befehl aus:

$ ansible-galaxy install geerlingguy.mysql

Ansible Galaxy-Rolle geerlingkerl.mysql sollte installiert werden.

Erstellen Sie ein Playbook install_database.yaml in dem Spielbücher/ Verzeichnis zum Testen der geerlingkerl.mysql Rolle wie folgt:

$ Nano-Playbooks/install_database.yaml

Geben Sie dann die folgenden Zeilen in die ein install_database.yaml Datei.

- Hosts: Datenbank
Benutzer: ansible
werden: ja
vars_files:
-… /vars/database.yaml
Rollen:
- Rolle: geerlingguy.mysql

Wenn Sie fertig sind, drücken Sie + X gefolgt von Ja und um die zu retten install_database.yaml Datei.

Hier ist die Rolle von geerlingkerl.mysql wird in der verwendet Rollen Sektion.

Das vars_files Abschnitt wird verwendet, um die erforderlichen Rollen-/Playbook-Variablen zum Playbook hinzuzufügen. Hier werden die Variablen in die vars/Datenbank.yaml Datei.

Erstellen Sie nun a Datenbank.yaml Datei in der vars/ Verzeichnis wie folgt:

$ Nanovars/Datenbank.yaml

Fügen Sie nun Ihre gewünschten Variablen im Datenbank.yaml Datei. Ich habe die folgenden Variablen in der hinzugefügt Datenbank.yaml Datei.

mysql_databases:
- Name: db01
Kodierung: utf8mb4
Sortierung: utf8mb4_unicode_ci
mysql_users:
- Name: linuxhint
Gastgeber: "%"
Passwort: geheim
priv: "db01.*:ALLE"

Diese Variablen konfigurieren geeringkerl.mysql Rolle, damit ein neuer Benutzer erstellt wird linuxhint, setzt das Passwort Geheimnis für die linuxhint Benutzer, erstellt eine neue Datenbank db01 und Zuschüsse linuxhint Benutzer voller Zugriff auf die db01 Datenbank.

Wenn Sie fertig sind, drücken Sie + X gefolgt von Ja und um die zu retten Datenbank.yaml Datei.

Jetzt können Sie die install_database.yaml Spielbuch wie folgt:

$ ansible-playbook playbooks/install_database.yaml

Wie Sie sehen können, führt das Playbook die geerlingkerl.mysql Rolle. Es kann eine Weile dauern, bis es abgeschlossen ist.

An dieser Stelle ist die install_mysql.yaml Playbook sollte fertig sein.

Auf meiner vm1.Knotendrachen.com Debian 10-Host, der mysql Dienst läuft, wie Sie im Screenshot unten sehen können,

Ich kann mich auch beim MySQL-Datenbankserver anmelden als linuxhint Benutzer.

Wie Sie sehen, ist die Datenbank db01 wird auch erstellt.

So installieren und verwenden Sie Ansible Galaxy-Rollen.

Ansible-Sammlungen installieren und verwenden:

In diesem Abschnitt zeige ich Ihnen, wie Sie eine Ansible Galaxy-Sammlung installieren und verwenden. Also lasst uns anfangen.

Sagen wir; Sie möchten die Ansible Galaxy-Sammlung installieren geerlingkerl.php_roles.

Führen Sie dazu den folgenden Befehl aus:

$ ansible-galaxy collection install geerlingguy.php_roles

Die Sammlung geerlingkerl.php_roles sollte installiert werden.

Um die Sammlung zu verwenden, erstellen Sie ein neues Playbook install_php.yaml in dem Spielbücher/ Verzeichnis wie folgt:

$ Nano-Playbooks/install_php.yaml

Geben Sie nun die folgenden Zeilen in die ein install_php.yaml Datei.

- Hosts: web
Benutzer: ansible
werden: ja
Kollektionen:
- geerlingkerl.php_roles
Rollen:
- Rolle: php
- Rolle: php_versions
Varianten:
php_version: '7.3'

Wenn Sie fertig sind, drücken Sie + X gefolgt von Ja und um die zu retten install_php.yaml Datei.

Diese Zeilen importieren die geerlingkerl.php_roles Sammlung in deinem Playbook.

In dem Rollen Abschnitt können Sie die Rollen verwenden, die Sie aus Ihrer Sammlung benötigen. Hier habe ich 2 Rollen hinzugefügt (php und php_versionen) von dem geerlingkerl.php_roles Sammlung.

Das php Rolle hat keine rollenspezifischen Variablen.

Wenn Sie eine Rolle mit Variablen konfigurieren möchten, können Sie diese unter dem under vars Abschnitt der Rolle wie folgt.

Welche Rollen verfügbar sind, findet ihr auf der offiziellen Ansible Galaxy-Seite der Sammlung

Auf der offiziellen Ansible Galaxy-Seite der Rolle finden Sie Informationen darüber, welche Variablen Sie zum Konfigurieren der Rolle verwenden können.

Jetzt können Sie die install_php.yaml Spielbuch wie folgt:

$ ansible-playbook playbooks/install_php.yaml

Wie Sie sehen, läuft das Playbookbook. Es kann eine Weile dauern, bis es abgeschlossen ist.

An dieser Stelle sollte das Playbook fertig sein.

Wie Sie sehen, kann ich auf den Apache 2-Webserver zugreifen, der auf meinem CentOS 7-Host vm9 läuft.Knotendrachen.com.

Ich habe auch eine erstellt Index.php Datei in der /var/www/html/ Verzeichnis meines CentOS 7-Hosts vm9.Knotendrachen.com.

Wie Sie sehen, kann der Webserver dienen Index.php Seite richtig.

So installieren und verwenden Sie Ansible Galaxy-Sammlungen.

Fazit:

In diesem Artikel habe ich erklärt, was Ansible Galaxy ist. Ich habe auch gezeigt, wie Sie Rollen/Sammlungen von Ansible Galaxy installieren und verwenden. Ansible Galaxy hilft Ihnen dabei, das Rad nicht neu zu erfinden, auch bekannt als Code-Wiederholung. Sie sollten Ihre Ansible-Projekte mit Ansible Galaxy schneller erledigen können.

Top 10 Spiele zum Spielen auf Ubuntu
Die Windows-Plattform war eine der dominierenden Plattformen für Spiele aufgrund des großen Prozentsatzes von Spielen, die heute entwickelt werden, um...
Die 5 besten Arcade-Spiele für Linux
Heutzutage sind Computer ernsthafte Maschinen, die zum Spielen verwendet werden. Wenn du den neuen Highscore nicht bekommst, weißt du was ich meine. I...
Schlacht um Wesnoth 1.13.6 Entwicklung veröffentlicht
Schlacht um Wesnoth 1.13.6, das letzten Monat veröffentlicht wurde, ist die sechste Entwicklungsversion im 1.13.x-Serie und bietet eine Reihe von Verb...