Wie man eine ansible Galaxie verwendet

Wie man eine ansible Galaxie verwendet
Ansible Galaxy ist eine Rolle und ein Sammelmanager für Ansible. Sie können es mit dem Paketmanager von NPM (Node Package Manager) von Node vergleichen.JS.

Ansible Galaxy beherbergt Ansible -Rollen und -Kollektionen, die von der Community erstellt wurden. Anstatt sie von Grund auf neu zu schreiben, können Sie es mit dem Ansible Galaxy Command-Line-Tool auf Ihrem Computer installieren und auf Ihren Playbooks verwenden.

Sie können auch Ihre Rollen und Sammlungen schreiben und in Ansible Galaxy hochladen. Dies ist nicht im Rahmen dieses Artikels.

In diesem Artikel werde ich Ihnen zeigen, wie Sie mit Ansible Galaxy Command-Line-Tool zur Installation von Ansible Galaxy-Rollen und -Kollektionen verwenden und sie in Ihrem Spielbuch verwenden. 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 haben (ein Debian 10 und ein CentOS 7) für die Ansible -Automatisierung konfiguriert.

Es gibt viele Artikel unter LinuxHint, die der Installation von Ansible und Konfigurieren von Hosts für Ansible Automation gewidmet sind. Sie können sie bei Bedarf überprüfen.

Einrichten eines Projektverzeichnisses:

Lassen Sie uns vor dem Start ein Projektverzeichnis erstellen, damit wir unsere Projektdateien organisieren können.

Ein Projektverzeichnis erstellen Galaxie-Demo/ in deinem HEIM Verzeichnis, führen Sie den folgenden Befehl aus:

$ mkdir -pv Galaxy -Demo/Playbooks, Vars

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

$ CD Galaxy-Demo/

Erstellen Sie eine ansible Konfigurationsdatei Ansible.CFG In Ihrem Projektverzeichnis wie folgt:

$ nano ansible.CFG

Geben Sie die folgenden Zeilen ein Ansible.CFG Datei.

[Standardeinstellungen]
Inventory = Hosts
host_key_checking = false

Sobald Sie fertig sind, drücken Sie + X gefolgt von Y Und um die zu retten Ansible.CFG Konfigurationsdatei.

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

$ nano Gastgeber

Geben Sie die folgenden Zeilen in Ihre ein Gastgeber Inventardatei.

[Datenbank]
VM1.Nodekite.com
[Netz]
VM9.Nodekite.com

Hier, VM1.Nodekite.com ist ein Debian 10 Host und VM9.Nodekite.com ist ein CentOS 7 Host.

Sobald Sie fertig sind, drücken Sie + X gefolgt von Y Und um die zu retten Gastgeber Inventardatei.

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

$ ANSIBLE ALL -U ANSIBLE -M PING

Wie Sie sehen können, kann ich meine entfernten Ansible -Hosts vm1 pingen.Nodekite.com und vm9.Nodekite.com.

Auf der Suche nach Ansible Galaxy -Rollen und -Kollektionen:

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

Sobald die Webseite geladen ist.

Geben Sie nun das ein, was Sie suchen, und klicken Sie auf das Suchymbol.

In diesem Beispiel habe ich nach gesucht MySQL Server. Wie Sie sehen können, wird das Suchergebnis angezeigt.

Der Suchbegriff MySQL Server gab 2 Sammlungen und viele Rollen zurück.

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.

Klicken Sie auf die Rolle, um weitere Informationen zu einer Rolle zu erhalten.

Der Einzelheiten Die Registerkarte eines Rollenpakets zeigt technische Informationen über die Rolle an.

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

Auf die gleiche Weise enthält ein Sammelpaket Installationsinformationen auf der Einzelheiten Tab.

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

Der Liesmich Die Registerkarte zeigt nützliche Informationen zur Sammlung an.

Installieren und Verwenden von ansiblen Galaxienrollen:

In diesem Abschnitt werde ich Ihnen zeigen, wie Sie eine ansible Galaxienrolle installieren und verwenden können. Also lasst uns anfangen.

Sagen wir; Sie möchten die Ansible Galaxy -Rolle installieren Geerlingguy.Mysql.

Führen Sie dazu den folgenden Befehl aus:

$ ansible-galaxy install Geerlingguy.Mysql

Ansible Galaxy -Rolle Geerlingguy.Mysql sollte installiert werden.

Erstellen Sie ein Spielbuch Install_database.Yaml im Playbooks/ Verzeichnis zum Testen der Geerlingguy.Mysql Rolle wie folgt:

$ nano playbooks/install_database.Yaml

Geben Sie dann die folgenden Zeilen in die Install_database.Yaml Datei.

- Hosts: Datenbank
Benutzer: Ansible
Werde: Ja
vars_files:
-… /Vars /Datenbank.Yaml
Rollen:
- Rolle: Geerlingguy.Mysql

Sobald Sie fertig sind, drücken Sie + X gefolgt von Y Und um die zu retten Install_database.Yaml Datei.

Hier die Rolle von Geerlingguy.Mysql wird in der verwendet Rollen Abschnitt.

Der vars_files Der Abschnitt wird verwendet, um das Spielbuch die erforderlichen Rolle/Playbook -Variablen hinzuzufügen. Hier werden die Variablen in die platziert vars/Datenbank.Yaml Datei.

Erstellen Sie jetzt eine Datenbank.Yaml Datei in der vars/ Verzeichnis wie folgt:

$ nano vars/Datenbank.Yaml

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

mysql_databases:
- Name: DB01
Codierung: UTF8MB4
Collation: UTF8MB4_Unicode_ci
MySQL_USERS:
- Name: LinuxHint
Gastgeber: "%"
Passwort: Geheimnis
priv: "db01.*:ALLE"

Diese Variablen konfigurieren Geeringguy.Mysql Rolle, damit ein neuer Benutzer erstellt wird LinuxHint, Legt das Passwort fest Geheimnis für die LinuxHint Benutzer erstellt eine neue Datenbank DB01 und Zuschüsse LinuxHint Benutzer voller Zugriff auf die DB01 Datenbank.

Sobald Sie fertig sind, drücken Sie + X gefolgt von Y Und um die zu retten Datenbank.Yaml Datei.

Jetzt können Sie die ausführen Install_database.Yaml Spielbuch wie folgt:

$ Ansible-Playbook-Playbooks/install_database.Yaml

Wie Sie sehen können, leitet das Spielbuch das aus Geerlingguy.Mysql Rolle. Es kann eine Weile dauern, bis es fertig ist.

An diesem Punkt die Install_mysql.Yaml Das Spielbuch sollte abgeschlossen sein.

Auf meinem VM1.Nodekite.Com Debian 10 Moderator, der Mysql Der Service läuft, wie Sie im Screenshot unten sehen können,

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

Wie Sie sehen können, die Datenbank DB01 wird auch erstellt.

So installieren und verwenden Sie Ansible Galaxy -Rollen.

Installieren und Verwenden von Ansible -Sammlungen:

In diesem Abschnitt werde ich Ihnen zeigen, wie Sie eine Ansible Galaxy Collection installieren und verwenden. Also lasst uns anfangen.

Sagen wir; Sie möchten die Ansible Galaxy Collection installieren Geerlingguy.Php_roles.

Führen Sie dazu den folgenden Befehl aus:

$ ansible-galaxy collection install Geerlingguy.Php_roles

Die Sammlung Geerlingguy.Php_roles sollte installiert werden.

Um die Sammlung zu verwenden, erstellen Sie eine neue Playbook install_php.Yaml im Playbooks/ Verzeichnis wie folgt:

$ nano playbooks/install_php.Yaml

Geben Sie nun die folgenden Zeilen in die Install_Php.Yaml Datei.

- Hosts: Web
Benutzer: Ansible
Werde: Ja
Sammlungen:
- Geerlingguy.Php_roles
Rollen:
- Rolle: Php
- Rolle: php_versions
vars:
PHP_VERSION: '7.3'

Sobald Sie fertig sind, drücken Sie + X gefolgt von Y Und um die zu retten Install_Php.Yaml Datei.

Diese Zeilen importieren die Geerlingguy.Php_roles Sammlung auf Ihrem Spielbuch.

Im 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_versions) von dem Geerlingguy.Php_roles Sammlung.

Der Php Die Rolle hat keine rollenspezifischen Variablen.

Wenn Sie eine Rolle mit Variablen konfigurieren möchten, können Sie sie unter dem hinzufügen vars Abschnitt der Rolle folgendermaßen.

Sie können finden, welche Rollen für die offizielle Ansible Galaxy der Sammlung zur Verfügung stehen

Die offizielle Ansible Galaxy -Seite der Rolle hat Informationen darüber, welche Variablen Sie verwenden können, um die Rolle zu konfigurieren.

Jetzt können Sie die ausführen Install_Php.Yaml Spielbuch wie folgt:

$ Ansible-Playbook-Playbooks/install_php.Yaml

Wie Sie sehen können, läuft das Spielbuch. Es kann eine Weile dauern, bis es fertig ist.

Zu diesem Zeitpunkt sollte das Spielbuch abgeschlossen sein.

Wie Sie sehen können, kann ich auf den Apache 2 -Webserver auf meinem CentOS 7 -Host VM9 zugreifen.Nodekite.com.

Ich habe auch eine erstellt Index.Php Datei in der /var/www/html/ Verzeichnis meines CentOS 7 Host VM9.Nodekite.com.

Wie Sie sehen können, kann der Webserver dienen Index.Php Seite richtig.

So installieren und verwenden Sie Ansible Galaxy -Sammlungen.

Abschluss:

In diesem Artikel habe ich erklärt, was Ansible Galaxy ist. Ich habe auch gezeigt, wie man Rollen/Sammlungen von Ansible Galaxy installiert und verwendet. Ansible Galaxy hilft Ihnen, das Rad zu vermeiden, das auch als Code -Wiederholung bezeichnet wird. Sie sollten in der Lage sein, Ihre Ansible -Projekte schneller mit Ansible Galaxy zu erledigen.