Kernkomponenten von Ansible verstehen - Teil 1

Kernkomponenten von Ansible verstehen - Teil 1

Der Red Hat -zertifizierte Spezialist für die Ansible Automation Exam (EX407) ist ein neues Zertifizierungsprogramm von roter Hut Das testet Ihre Fähigkeiten, um sie zu verwenden Ansible Um die Konfiguration von Systemen und Anwendungen zu automatisieren.

Die Serie wird den Titel "Der Red Hat -zertifizierte Spezialist für die Ansible Automation Exam (EX407)Und deckt die folgenden Prüfungsziele basierend auf Red Hat Enterprise Linux 7.5 Und Ansible 2.7, was wir darin behandeln werden Ansible Serie:

Um Gebühren anzuzeigen und sich für eine Prüfung in Ihrem Land zu registrieren, überprüfen Sie die Seite Ansible Automation Prüfung.

Teil 1: Kernkomponenten von Ansible verstehen Teil 2: Installieren und konfigurieren Sie einen ansiblen Steuerknoten Teil 3: So konfigurieren Sie Ansible Managed Knowes und führen Sie Ad-hoc-Befehle aus Teil 4: So erstellen Sie statische und dynamische Inventare, um Gruppen von Wirten zu definieren Teil 5: So erstellen Sie Ansible -Stücke und Playbooks Teil 6: So verwenden Sie Ansible -Module für Systemverwaltungsaufgaben Teil 7: Erstellen und Verwenden von Vorlagen zum Erstellen angepasster Konfigurationsdateien Teil 8: Wie man mit Ansible -Variablen und Fakten arbeitet Teil 9: So erstellen und laden Sie Rollen eine Ansible Galaxy und verwenden Sie sie und verwenden Sie sie Teil 10: So verwenden Sie Ansible Vault in Playbooks, um sensible Daten zu schützen

In diesem Teil 1 des Ansible Serie werden wir einen grundlegenden Überblick über Kernkomponenten in diskutieren Ansible.

Kernkomponenten von Ansible verstehen

Ansible ist eine kostenlose und openSource -Automatisierungsplattform von Roter Hut Dadurch können Sie mehrere Server von einem zentralen Standort von einem zentralen Standort aus verwalten und steuern. Es ist besonders ideal, wenn Sie mehrere und sich wiederholende Aufgaben haben, die ausgeführt werden müssen. Anstatt sich in jeden dieser abgelegenen Knoten anzumelden und Ihre Aufgaben auszuführen, können Sie dies bequem von einem zentralen Ort aus tun und Ihre Server bequem verwalten.

Dies ist von Vorteil, wenn Sie die Konsistenz bei der Anwendungsbereitstellung beibehalten, menschliche Fehler reduzieren und sich wiederholte und etwas weltliche Aufgaben automatisieren möchten.

Natürlich gibt es andere Alternativen zu Ansible wie zum Beispiel Marionette, Koch, Und Salz. Jedoch, Ansible wird meistens bevorzugt, weil es einfach zu bedienen und einfach zu lernen ist.

Warum ist es einfach zu lernen, dass Sie fragen könnten? Das ist weil Ansible Verwendet Yaml (Noch eine Markup -Sprache) in seinen Konfigurations- und Automatisierungsjobs, die menschlich lesbar und recht einfach zu befolgen sind. Yaml Verwendet Ssh Protokoll zur Kommunikation mit Remote -Servern, im Gegensatz zu anderen Automatisierungsplattformen, für die Sie einen Agenten auf Remote -Knoten installieren müssen, um mit ihnen zu kommunizieren.

Bevor wir anfangen mit Ansible, Es ist wichtig, dass Sie einige grundlegende Terminologien kennenlernen, damit Sie sich nicht verirren oder verwirrt sind, wenn wir vorwärts gehen.

Inventar

Ein Inventar ist eine Textdatei, die eine Liste von Servern oder Knoten enthält, die Sie verwalten und konfigurieren. Normalerweise werden die Server basierend auf ihren Hostnamen oder IP -Adressen aufgeführt.

Ein Inventar Die Datei kann Remote -Systeme enthalten, die durch ihre IP -Adressen wie gezeigt definiert sind:

10.200.50.50 10.200.50.51 10.200.50.52 

Alternativ können sie nach Gruppen aufgeführt werden. Im folgenden Beispiel haben wir Server unter 2 Gruppen platziert - Webserver Und Datenbanken. Auf diese Weise können sie nach ihren Gruppennamen und nicht ihren IP -Adressen verwiesen werden. Dies vereinfacht die Betriebsprozesse weiter.

[Webserver] 10.200.50.60 10.200.50.61 [Datenbanken] 10.200.50.70 10.200.50.71 

Sie können mehrere Gruppen mit mehreren Servern haben, wenn Sie sich in einer großen Produktionsumgebung befinden.

Spielbuch

A Spielbuch ist eine Reihe von Konfigurationsverwaltungsskripten, die definieren, wie Aufgaben auf Remote -Hosts oder einer Gruppe von Host -Maschinen ausgeführt werden sollen. Die Skripte oder Anweisungen sind in geschrieben Yaml Format.

Zum Beispiel können Sie eine haben Spielbuch Datei zum Installieren des Apache -Webservers in CentOS 7 und rufen Sie ihn an httpd.YML.

Um das zu erstellen Spielbuch Führen Sie den Befehl aus.

$ Touch Playbook_Name.YML 

Zum Beispiel ein Spielbuch namens erstellen httpd, Führen Sie den Befehl aus.

$ touch httpd.YML 

Eine YAML -Datei beginnt mit 3 Bindestriche wie gezeigt. Fügen Sie in der Datei die folgenden Anweisungen hinzu.

--- - Name: Dadurch wird Apache -Webserver -Hosts installiert und gestartet 

Obenstehendes Spielbuch Installationen Apache -Webserver auf entfernten Systemen definiert als Webserver in der Inventardatei. Nach der Installation des Webservers überprüft Ansible später, ob der Apache -Webserver gestartet wird.

Module

Module sind diskrete Codeeinheiten, die in verwendet werden Spielbücher Für die Ausführung von Befehlen auf Remote -Hosts oder Servern. Auf jedem Modul folgt ein Argument.

Das Grundformat eines Moduls ist Schlüsselwert.

- Name: Installieren Sie Apache -Pakete yum: name = httpd Status = vorhanden 

In obigem Yaml Code-Auszug, -Name Und Yum sind Module.

Theaterstücke

Ein Ansible spielen ist ein Skript oder eine Anweisung, die die Aufgabe definiert, die auf einem Server ausgeführt werden soll. Eine Sammlung von Stücken bildet ein Spielbuch. Mit anderen Worten, ein Playbook ist eine Sammlung mehrerer Stücke, von denen jedes deutlich die Aufgabe vorsieht, die auf einem Server ausgeführt werden soll. Theaterstücke existieren im YAML -Format.

Variablen

Wenn Sie einen Hintergrund in der Programmierung haben, haben Sie höchstwahrscheinlich Variablen verwendet. Grundsätzlich stellt eine Variable einen Wert dar. Eine Variable kann Buchstaben, Ziffern und Unterstriche enthalten, muss aber immer mit Buchstaben beginnen.

Variablen werden verwendet, wenn die Anweisungen von einem System zu einem anderen variieren. Dies gilt insbesondere während der Konfiguration oder verschiedenen Diensten und Funktionen.

Es gibt 3 Haupttypen von Variablen:

  • Spielbuchvariablen
  • Bestandsvariablen
  • Spezielle Variablen

In Ansible, Variablen werden zuerst mit dem definiert var k, dann gefolgt vom variablen Namen und dem Wert.

Die Syntax ist wie gezeigt:

VARS: var name1: 'Meine erste Variable' var name2: 'meine zweite Variable' 

Betrachten Sie den folgenden Code.

- Hosts: Webservers Vars: - Web_Directory:/var/www/html/ 

Im obigen Beispiel ist die Variable hier web_directory und es weist Ansible an, ein Verzeichnis in der zu erstellen /var/www/html/ Weg.

Fakten

Fakten Sind Systemeigenschaften von Ansible gesammelt, wenn es ein Spielbuch auf einem Host -System ausführt. Die Eigenschaften umfassen Hostname, OS -Familie, CPU -Typ und CPU -Kerne, um einige zu erwähnen.

Einen Blick auf die Anzahl der verfügbaren Fakten zur Verwendung des Befehls zu werfen.

$ ansible localhost -m Setup 
Listen Sie die verfügbaren Ansible -Fakten auf

Wie Sie sehen können, eine große Anzahl von Anzahl von Fakten wurden standardmäßig angezeigt. Sie können die Ergebnisse mit dem Filterparameter wie gezeigt weiter eingrenzen.

$ ansible localhost -m setup -a "filter =*ipv4" 
Listen Sie IPv4 -Ansible -Fakten auf

Konfigurationsdateien

In Ansible, Eine Konfigurationsdatei ist eine Datei, die unterschiedliche Parametereinstellungen enthält, die bestimmen, wie Ansible ausgeführt wird. Die Standardkonfigurationsdatei ist die Ansible.CFG Datei befindet sich in /etc/ansible/ Verzeichnis.

Sie können die Konfigurationsdatei durch Ausführen anzeigen:

$ cat/etc/ansible/ansible.CFG 
Ansible -Konfigurationsdatei

Wie Sie beobachten können, sind mehrere Parameter enthalten, z Inventar Und Bibliothek Dateipfade, sudo -Benutzer, Pluginfilter, Module usw. Diese Parameter können einfach angepasst werden, indem sie kommentieren und die darin enthaltenen Werte ändern.

Darüber hinaus können mehrere Konfigurationsdateien mit Ansible abgesehen von Ihrer Standard -Konfigurationsdatei arbeiten.

Zusammenfassung

Nachdem Sie sich die Kernkomponenten angesehen haben Ansible, Wir hoffen, Sie sind in der Lage, sie an Ihren Fingerspitzen zu halten und sie auszuwählen, während wir uns vorwärts bewegen. Begleiten Sie uns zu Ihrem nächsten Thema.