So erstellen und laden Sie Rollen auf Ansible Galaxy herunter und verwenden sie – Teil 9

Im Teil 9 In Ansible Series erfahren Sie, wie Sie Rollen erstellen und herunterladen Ansible Galaxy und benutze sie. Ansible ist ein einfaches, aber effektives Tool für das Konfigurationsmanagement und die automatische Bereitstellung, das komplexe Aufgaben nahtlos und effizient automatisiert. Sie können Hunderte oder sogar Tausende von Servern von einem einzigen Steuerknoten aus mit einer einzigen Playbook-Datei verwalten.

Das Schreiben von Playbooks zum Verwalten desselben Dienstes in verschiedenen Umgebungen kann jedoch recht umständlich sein, und dies führt normalerweise zu Code-Redundanz. Darüber hinaus kann eine größere Komplexität die Schwierigkeit bei der Verwaltung aller Geräte erhöhen.

Es kommen Rollen. Im AnsibleRollen werden verwendet, um Playbooks in wiederverwendbare Dateien zu zerlegen, die in mehreren anderen Fällen verwendet werden können, in denen eine ähnliche Aufgabe ausgeführt werden muss. Dadurch entfällt die Notwendigkeit, Playbooks immer wieder neu zu schreiben, und es wird viel Zeit und Energie gespart.

Rollen sind einfach Funktionen von Spielbüchern. Eine Rolle wird mit so ziemlich dem geliefert, was ein Playbook ausmachen würde: Aufgaben, Dateien, Module, Variablen und Vorlagen. Beachten Sie außerdem, dass jede Rolle auf eine bestimmte Aufgabe oder die gewünschte Ausgabe beschränkt ist.

Erstellen einer Ansible-Rolle

Eine Rolle erstellen in AnsibleVerwenden Sie einfach die Syntax.

# ansible-galaxy init role_name 


In Ihrem aktuellen Arbeitsverzeichnis werden mehrere Verzeichnisse und Dateien erstellt. In diesem Fall habe ich beschlossen, eine Rolle in der zu erstellen / etc / ansible / Rollen Verzeichnis.

Erstellen wir eine Rolle namens Apache.

# ansible-galaxy init apache
Erstellen Sie eine Apache-Rolle in Ansible
Erstellen Sie eine Apache-Rolle in Ansible

Verwenden Sie den Befehl tree, um einen Blick auf die Verzeichnisstruktur der Rolle zu werfen.

# tree apache
Überprüfen Sie die Verzeichnisstruktur der Ansible-Rolle
Überprüfen Sie die Verzeichnisstruktur der Ansible-Rolle

Wie Sie sehen können, wurden mehrere Verzeichnisse erstellt, jedoch werden nicht alle im Playbook verwendet.

Um nun Ihre neu erstellte Rolle in einem Playbook zu verwenden, definieren Sie eine Aufgabe in der main.yml Datei im Aufgabenverzeichnis Ihrer neuen Rolle.

/apache/tasks/main.yml

---

- hosts: database_servers

  tasks:

    - name: Install Apache2 on Ubuntu webserver
      apt:
         name: apache2
         state: installed

Erstellen Sie anschließend eine Playbook-Datei und rufen Sie die Rolle wie gezeigt auf.

--- 
- hosts: webservers
  roles:
   - apache

Installieren einer Rolle von Ansible Galaxy

Rollen spielen eine entscheidende Rolle beim Teilen von Code mit anderen Benutzern in der Ansible Gemeinschaft mit der Ansible Galaxy Plattform. Im Ansible GalaxySie erhalten Tausende von Rollen, die verschiedene Aufgaben ausführen, z. B. die Installation von Webservern und Datenbanken, Überwachungstools usw.

Ansible Galaxy ist eine Datenbank oder ein Repository mit Ansible-Rollen, die Sie in Ihren Playbooks nutzen und zur Optimierung Ihrer Aufgaben beitragen können.

So suchen Sie eine Rolle in Ansible GalaxyFühren Sie einfach den Befehl aus.

# ansible-galaxy search 

Zum Beispiel, um nach einer Rolle mit dem Namen zu suchen MySQL Lauf.

# ansible-galaxy search mysql
Suchrolle in Ansible
Suchrolle in Ansible

Wie Sie sehen können, gibt es Hunderte von Rollen, die mit dem Suchbegriff übereinstimmen MySQL. Da jedoch nicht alle Rollen das ausführen, was Sie beabsichtigen, wird empfohlen, die Anweisungen sorgfältig durchzulesen.

Um weitere Informationen zu einer Rolle zu erhalten, führen Sie einfach den Befehl Ansible aus:

# ansible-galaxy info 5KYDEV0P5.skydevops-mysql
Überprüfen Sie die Informationen zu Ansible Role
Überprüfen Sie die Informationen zu Ansible Role

In unserem Beispiel werden wir die Rolle installieren 5KYDEV0P5.skydevops-MySQL.

# ansible-galaxy install 5KYDEV0P5.skydevops-mysql
Rolle in Ansible installieren
Rolle in Ansible installieren

Die Rolle wird heruntergeladen und in das Standardrollenverzeichnis unter extrahiert / etc / ansible / Rollen.

Die Rolle kann danach in einem Spielbuch aufgerufen werden, zum Beispiel:

---
- name: Install MySQL server
  hosts: webservers

 roles:
    • 5KYDEV0P5.skydevops-mysql

Jetzt können Sie das Ansible-Playbook wie gezeigt sicher ausführen.

# ansible-playbook install_mysql.yml
Führen Sie Ansible Playbook aus
Führen Sie Ansible Playbook aus

Darüber hinaus können Sie besuchen Ansible Galaxy Suchen Sie über Ihren Webbrowser manuell nach Rollen für die Ausführung verschiedener Aufgaben, wie im Dashboard beschrieben.

Ansible Galaxy
Ansible Galaxy

Zum Beispiel, um nach einer Überwachungsrolle zu suchen, wie z Elasticsearch, Klicken Sie auf ‘Überwachung‘Option und suchen Sie nach der Rolle wie gezeigt.

Suchüberwachungsrolle in Ansible Galaxy
Suchüberwachungsrolle in Ansible Galaxy

Ansible Galaxy erleichtert Benutzern die Installation der besten Rollen, indem die beliebtesten und am häufigsten heruntergeladenen Rollen aufgelistet werden. Um weitere Informationen zu einer bestimmten Rolle zu erhalten, klicken Sie einfach darauf.

Überprüfen Sie die Rolleninformationen auf Ansible Galaxy
Überprüfen Sie die Rolleninformationen auf Ansible Galaxy

In einem Playbook können Sie beispielsweise auch mehr als eine Rolle angeben.

---
- name: Install MySQL server
  hosts: webservers

 roles:
    • 5KYDEV0P5.skydevops-mysql
    • Aaronpederson.mariadb

Um die installierten Rollen aufzulisten, führen Sie einfach aus.

# ansible-galaxy list
Liste der installierten Rollen in Ansible Galaxy
Liste der installierten Rollen in Ansible Galaxy
Fazit

Rollen Machen Sie es ganz einfach, Ansible-Playbooks wiederzuverwenden und weiterzugeben. Auf diese Weise sparen sie einem Benutzer viel Zeit beim Versuch, viel redundanten Code zu schreiben, und verbringen zu viel Zeit, die für andere Systemverwaltungsaufgaben verwendet worden wäre. Und das war’s für diesen Leitfaden.

Similar Posts

Leave a Reply

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