Kernkomponenten von Ansible verstehen – Teil 1

Die Red Hat Certified Specialist in Ansible Automation Prüfung (EX407) ist ein neues Zertifizierungsprogramm von roter Hut das testet deine Fähigkeiten Ansible um die Konfiguration von Systemen und Anwendungen zu automatisieren.

Die Serie trägt den Titel „Die Red Hat Certified Specialist in Ansible Automation Prüfung (EX407)”Und deckt die folgenden Prüfungsziele ab, basierend auf Red Hat Enterprise Linux 7.5 und Ansible 2.7, auf die wir hier noch eingehen werden Ansible Serie:

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

Teil 1:: Kernkomponenten von Ansible verstehen
Teil 2:: Installieren und konfigurieren Sie einen Ansible-Steuerknoten
Teil 3:: So konfigurieren Sie Ansible Managed Nodes und führen Ad-hoc-Befehle aus
Teil 4:: Erstellen statischer und dynamischer Bestände zum Definieren von Hostgruppen
Teil 5:: So erstellen Sie Ansible-Spiele und Playbooks
Teil 6:: Verwendung von Ansible-Modulen für Systemverwaltungsaufgaben
Teil 7:: Erstellen und Verwenden von Vorlagen zum Erstellen benutzerdefinierter Konfigurationsdateien
Teil 8:: Wie man mit Ansible Variablen und Fakten arbeitet
Teil 9:: So erstellen und laden Sie Rollen einer Ansible Galaxy herunter und verwenden sie
Teil 10:: Verwendung von Ansible Vault in Playbooks zum Schutz sensibler Daten

In diesem Teil 1 des Ansible Serie werden wir einige grundlegende Übersicht über die Kernkomponenten in diskutieren Ansible.

Kernkomponenten von Ansible verstehen

Ansible ist eine kostenlose und OpenSource-Automatisierungsplattform von Roter Hut Auf diese Weise können Sie mehrere Server 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 bei jedem dieser Remote-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 gewährleisten, menschliche Fehler reduzieren und sich wiederholende und etwas banale Aufgaben automatisieren möchten.

Natürlich gibt es auch andere Alternativen dazu Ansible sowie Marionette, Koch, und Salz. Jedoch, Ansible wird meistens bevorzugt, weil es einfach zu bedienen und einfach zu erlernen ist.

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

Bevor wir anfangen AnsibleEs ist wichtig, dass Sie sich mit einigen grundlegenden Terminologien vertraut machen, damit Sie sich im weiteren Verlauf nicht verlaufen oder verwirren.

Inventar

Ein Inventar ist eine Textdatei, die eine Liste der Server oder Knoten enthält, die Sie verwalten und konfigurieren. Normalerweise werden die Server anhand ihrer Hostnamen oder IP-Adressen aufgelistet.

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

10.200.50.50
10.200.50.51
10.200.50.52

Alternativ können sie nach Gruppen aufgelistet werden. Im folgenden Beispiel haben wir Server unter 2 Gruppen – Webserver und Datenbanken. Auf diese Weise können sie anhand ihrer Gruppennamen und nicht anhand ihrer IP-Adressen referenziert werden. Dies vereinfacht die Betriebsprozesse weiter.

[webservers]
10.200.50.60
10.200.50.61

[databases]
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

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

Zum Beispiel können Sie eine haben Spielbuch Datei, um den Apache-Webserver unter CentOS 7 zu installieren und aufzurufen httpd.yml.

So erstellen Sie die Spielbuch Führen Sie den Befehl aus.

$ touch playbook_name.yml

Zum Beispiel, um ein Playbook namens zu erstellen httpdFü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: This installs and starts Apache webserver
  hosts: webservers

  tasks:
  - name: Install Apache Webserver 
    yum:   name=httpd  state=latest

 - name: check httpd status
    service:   name=httpd  state=started

Obenstehendes Spielbuch installiert 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 ist und ausgeführt wird.

Module

Module sind diskrete Codeeinheiten, die in verwendet werden Spielbücher zum Ausführen von Befehlen auf Remote-Hosts oder -Servern. Auf jedes Modul folgt ein Argument.

Das Grundformat eines Moduls ist Schlüsselwert.

- name: Install apache packages 
    yum:   name=httpd  state=present

In obigem Yamla Code-Auszug, -Name und lecker sind Module.

Theaterstücke

Ein Ansible abspielen ist ein Skript oder eine Anweisung, die die auf einem Server auszuführende Aufgabe definiert. Eine Sammlung von Stücken bildet ein Spielbuch. Mit anderen Worten, ein Spielbuch ist eine Sammlung mehrerer Spiele, von denen jedes die auf einem Server auszuführende Aufgabe klar festlegt. Spiele existieren im YAML-Format.

Variablen

Wenn Sie einen Hintergrund in der Programmierung haben, haben Sie höchstwahrscheinlich Variablen verwendet. Grundsätzlich repräsentiert eine Variable einen Wert. Eine Variable kann Buchstaben, Ziffern und Unterstriche enthalten, MUSS jedoch immer mit Buchstaben beginnen.

Variablen werden verwendet, wenn Anweisungen von System zu System unterschiedlich sind. Dies gilt insbesondere während der Konfiguration oder verschiedener Dienste und Funktionen.

Es gibt 3 Haupttypen von Variablen:

  • Playbook-Variablen
  • Inventarvariablen
  • Spezielle Variablen

Im AnsibleVariablen werden zuerst mit dem definiert frisch k, gefolgt vom Variablennamen und dem Wert.

Die Syntax ist wie folgt:

vars:
Var name1: ‘My first variable’
    Var name2:  ‘My second 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 im zu erstellen / Var / www / html / Pfad.

Fakten

Fakten sind Systemeigenschaften, die von Ansible erfasst werden, wenn ein Playbook auf einem Hostsystem ausgeführt wird. Zu den Eigenschaften gehören Hostname, Betriebssystemfamilie, CPU-Typ und CPU-Kerne, um nur einige zu nennen.

Geben Sie den Befehl aus, um einen Einblick in die Anzahl der verfügbaren Fakten zu erhalten.

$ ansible localhost -m setup
Liste der verfügbaren Ansible Facts
Liste der verfügbaren Ansible Facts

Wie Sie sehen können, eine große Anzahl von Fakten wurden standardmäßig angezeigt. Sie können die Ergebnisse mithilfe des gezeigten Filterparameters weiter eingrenzen.

$ ansible localhost -m setup -a "filter=*ipv4"
IPv4 Ansible Facts auflisten
IPv4 Ansible Facts auflisten

Konfigurationsdateien

Im AnsibleEine Konfigurationsdatei ist eine Datei, die verschiedene 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 anzeigen, indem Sie Folgendes ausführen:

$ cat /etc/ansible/ansible.cfg
Ansible Konfigurationsdatei
Ansible Konfigurationsdatei

Wie Sie sehen können, sind mehrere Parameter enthalten, wie z Inventar und Bibliothek Dateipfade, Sudo-Benutzer, Plugin-Filter, Module usw. Diese Parameter können einfach durch Auskommentieren und Ändern der darin enthaltenen Werte angepasst werden.

Zusätzlich zu Ihrer Standardkonfigurationsdatei können mehrere Konfigurationsdateien mit Ansible zusammenarbeiten.

Zusammenfassung

Nachdem ich mir die Kernkomponenten in angesehen habe AnsibleWir hoffen, dass Sie in der Lage sind, sie immer zur Hand zu haben und sie im weiteren Verlauf herauszusuchen. Begleiten Sie uns bei Ihrem nächsten Thema.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *