Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Ansible Galaxy: Alles, was Sie wissen müssen

Ansible-Galaxie
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Ansible ist ein beliebtes Open-Source-Tool zur Konfigurationsverwaltung. Auf der anderen Seite ist Ansible Galaxy ein Repository von Ansible-Rollen.

Als Anfänger-Systemadministrator verfügen Sie möglicherweise nur über eine Handvoll Playbooks. Wenn sich Ihre Automatisierungsfähigkeiten verbessern und Sie damit vertrauter werden Ansible, lernen Sie alle Best Practices kennen. Wenn Sie Ihre Playbooks erweitern, werden Sie auch erkennen, wie wichtig das ist Ansible Galaxie ist.

What is Ansible Galaxy?

Ansible Galaxie ist ein webbasiertes Open-Source-Online-Repository für Ansible-Inhalte (hauptsächlich Rollen und Sammlungen). Es ist fast so, als hätte man etwas Neues geschaffen und möchte es mit anderen teilen.

Wenn Sie Probleme mit der Ansible-Automatisierung haben oder eine vorgefertigte Lösung von anderen benötigen, um Ihre Automatisierungsprojekte in Gang zu bringen, kann Ansible Galaxy helfen. Beispielsweise könnten Sie Rollen, Sammlungen, Module oder Plugins haben. Viele Community-Mitglieder haben bereits ihre Ansible-Sammlungen und -Rollen hochgeladen.

Ansible-Galaxy-2

Um Aufgaben wie das Installieren von Rollen von Galaxy oder einem beliebigen Git-SCM, das Erstellen oder Entfernen von Rollen oder das Ausführen einiger Aufgaben auf der Galaxy-Site auszuführen, können wir die verwenden ansible-galaxy Befehl. Dieser Befehl ist mit Ansible vorinstalliert, sodass Sie ihn sofort nach der Installation von Ansible verwenden können.

Das Galaxy-Projekt ist ein Open-Source-Projekt, das es uns ermöglicht, unsere internen Galaxy-Server zu hosten. Um den internen Galaxy-Server zu verwenden, müssen Sie die Standardkonfiguration in bearbeiten Ansible.cfg Datei mit der Serveradresse des internen Galaxy-Servers, da standardmäßig die Serveradresse verwendet wird galaxy.ansible.com.

Ansible Overview

Ansible kann als Multiplikator bezeichnet werden, der Infrastrukturen jeder Größe automatisiert und skaliert. Es kann zum Verwalten von Konfigurationen, Orchestrieren von Bereitstellungen und anderen Funktionen verwendet werden. Ansible ist sehr einfach einzurichten. Ansible kann sogar von einem unerfahrenen Systemadministrator verwendet werden Infrastruktur automatisieren in nur wenigen Stunden.

Ansible automatisiert durch die Verwendung von SSH-Protokoll. Der Kontrollmechanismus verwendet eine SSH-Verbindung, um mit seinen Zielhosts (normalerweise Linux-Hosts) zu kommunizieren. Windows-Systemadministratoren können weiterhin Ansible verwenden, um ihre Windows-Umgebungen mit WinRM anstelle von SSH zu automatisieren. Auf der Steuerungsmaschine muss weiterhin Linux ausgeführt werden.

Ansible kann allgemeine Systemadministratoraufgaben wie Patchen, Aktualisieren, Gruppen- und Benutzerverwaltung, Bereitstellung und andere Verwaltungsaufgaben ausführen.

Ansible ist die am weitesten verbreitete und beliebteste Konfigurationsmanagement, Orchestrierungs- und Bereitstellungstool heute. Seine Einfachheit ist eine seiner Hauptstärken. Es ist einfach, leistungsstark und dennoch agentenlos. Dies bedeutet, dass ein neuer oder Einsteiger-Systemadministrator die Infrastruktur in nur wenigen Stunden automatisieren kann. Ansible ermöglicht schnelle Skalierung, Effizienz und Cross-Funktionalität.

Working on Ansible Galaxy

Als nächstes öffnen wir das Terminal und führen einige Befehle mit Ansible Galaxy aus. Aber vorher müssen Sie das neueste Ansible auf Ihrem System installiert haben.

Wenn Sie das Neueste haben Ansible installiert Geben Sie einfach auf Ihrem System ein ansible-galaxy im Terminal, und Sie erhalten alle Optionen, die mit dem Galaxy verfügbar sind.

ubuntu@ubuntu-VirtualBox:~$ ansible-galaxy
Galaxy-Ansible

Zunächst können Sie mit dem Befehl init beginnen und eine Rolle erstellen. Hier erstelle ich eine Rolle „testing“. Verwenden Sie die ls Befehl, um zu überprüfen, ob die Rolle erfolgreich erstellt wurde. Das init Der Befehl erstellt auch die erforderlichen Dateien im Verzeichnis der Testrolle.

ubuntu@ubuntu-VirtualBox:~$ ansible-galaxy init testing
ansible-galaxie-init

Ansible Galaxy ist eine große und aktive Community, in der bereits viele Rollen erstellt wurden, die Sie direkt verwenden können.

Unten ist die Seite, die geöffnet wird, wenn Sie surfen 'galaxy.ansible.com', oder wir können sagen, es ist die Homepage der 'Ansible Galaxy'-Website. Wir können auf eine beliebige beliebte Kategorie auf der Homepage klicken oder auf die Schaltfläche „Suchen“ klicken, um weitere Filter für eine granulare Suche zu erhalten.

Ansible-Galaxie

Wenn Sie beispielsweise nach einer MySQL-Serverrolle suchen, suchen Sie einfach danach und klicken Sie auf die Filterschaltfläche. Sie können sehen, dass geerlingguy maximale Downloads hat; Wir können versuchen, diese Rolle zu installieren. Klicken Sie auf geerlingguy MySQL.

ansible-galaxy-mysql

Sie erhalten dann den Installationsbefehl, um diese Rolle zu installieren ansible-galaxy.

ansible-galaxy-install-mysql

Führen Sie den im obigen Snapshot erwähnten Befehl aus, um die MySQL-Serverrolle herunterzuladen und auf Ihrem Computer zu installieren.

ubuntu@ubuntu-VirtualBox:~$ ansible-galaxy install geerlingguy.mysql
ansible-galaxy-install

Wenn Sie bereits wissen, welche Rolle nach einem bestimmten Autor gesucht werden soll, können Sie den Suchbefehl wie unten gezeigt verwenden.

ubuntu@ubuntu-VirtualBox:~$ ansible-galaxy search elasticsearch --author geerlingguy
Ansible-Galaxie-Suche

Common Ansible Galaxy Commands

Der Befehl ansible-galaxy verwaltet Rollen und Sammlungen mit galaxy.ansible.com. Unten sind einige sehr hilfreich ansible-galaxy Befehle, die jeder Systemadministrator von Zeit zu Zeit verwendet:

  • ansible-galaxy list: Dieser Galaxy-Befehl zeigt eine Liste aller installierten Rollen mit ihren Versionsnummern an.
  • ansible-galaxy remove: Dieser Galaxy-Befehl entfernt eine installierte Rolle auf dem System.
  • ansible-galaxy info: Dieser Galaxy-Befehl liefert detaillierte Informationen über Ansible Galaxy.
  • ansible-galaxy init: Dieser Galaxy-Befehl kann verwendet werden, um eine Rollenvorlage zu erstellen, die für die Übermittlung an Ansible Galaxy geeignet ist.
  • ansible-galaxy import: Dieser Galaxy-Befehl erfordert eine Anmeldung, um eine Rolle von der offiziellen Galaxy-Website zu importieren.

Die obigen Befehle (init, import, install, remove) können mit dem verwendet werden ansible-galaxy collection-Befehl zum Verwalten von Sammlungen mit Ansible Galaxy.

Lassen Sie uns nun über Rollen und Sammlungen in Ansible Galaxy sprechen.

Create Roles with Ansible Galaxy

Ansible Galaxy ist im Grunde ein großes öffentliches Repository für Ansible-Rollen. Rollen kommen mit READMEs die Verwendung und Variablen erklären. Galaxy hat viele Rollen, die sich ständig weiterentwickeln und wachsen.

Galaxy kann Rollenquellen wie GitHub mit Git hinzufügen. Mit Ansible Galaxy können wir Ansible-Rollen mithilfe von erstellen ansible-galaxy Befehl. Ansible-galaxy init kann verwendet werden, um eine neue Galaxienrolle zu initialisieren, oder Sie können die ansible-galaxy install <name of role> Befehl zum Installieren der Rolle.

Bevor Sie sie in Playbooks verwenden können, muss die Rolle heruntergeladen werden. Sobald sie im Standardverzeichnis abgelegt wurden /etc/ansible/roles, finden Sie Rollenbeispiele.

Ansible Rollenstruktur und ihre Bedeutung

Nachfolgend sind die Dateien und Verzeichnisse aufgeführt, die bei der Installation einer Rolle erstellt werden:

  • README.md ist die Readme-Datei, die die Rolle beschreibt. Die Readme-Datei enthält alle Details zu den Eingabeparametern und Beispiel yml.
  • Aufgaben – Alle Aufgaben können von der Rolle bei Aufgaben eingetragen werden. Der Einstiegspunkt für die Rolle ist Main.yml. Hier beginnt die Hinrichtung. Diese Datei kann andere Dateien enthalten.
  • Handler – Diese Kategorie umfasst Handler, die in dieser oder einer anderen Rolle verwendet werden können.
  • defaults – Die Standardvariablen für die Rolle.
  • vars – Variablen, die wichtiger sind als die Standardwerte für Rolle.
  • Dateien – Diese Dateien können mit Rolle bereitgestellt werden.
  • Vorlagen – Dieser Abschnitt enthält Vorlagen, die über Rolle verwendet werden können.
  • meta – Metadaten können verwendet werden, um die Rollen in meta zu definieren. Diese Datei sollte auch alle Rollenabhängigkeiten enthalten.
  • Tests – CI-Tests, die ausgeführt werden sollen.
  • Bibliothek – Module oder Plugins in Rollen einbetten. Nicht durch den Befehl init erstellt. Sie können in diesem Ordner auch ein benutzerdefiniertes Modul in Python erstellen und es dann in Ihren Aufgaben verwenden.

Create Collections with Ansible Galaxy

Ansible Galaxy ist das beste Tool zur Verwaltung von Rollen und wird seit Jahren verwendet. Sie werden jedoch neue Funktionen oder Änderungen in Ansible Galaxy sehen. Ansible Version 2.2.8 enthält jetzt die Sammlungsfunktion.

Ansible-Inhalte können mithilfe von Sammlungen verteilt werden. Sie werden zum Packen und Verteilen von Playbooks und Rollen, Modulen sowie Plugins verwendet.

Die folgende Struktur ist die Grundlage von Sammlungen:

collection/
├── docs/
├── galaxy.yml
├── plugins/
│ ├──
modules/
│ │ └── module1.py
│ ├──
inventory/
│ └── .../
├── README.md
├── roles/
│ ├──
role1/
│ ├──
role2/
│ └── .../
├── playbooks/
│ ├──
files/
│ ├──
vars/
│ ├──
templates/
│ └── tasks/
└── tests/

Erstellen eines Sammlungsskeletts

Um eine Sammlung auf Ihrem Computer zu installieren, können Sie den Installationsbefehl ansible-galaxy collection verwenden.

Insbesondere können einige Unterbefehle auch mit Ansible Galaxy verwendet werden.

  • init: Erstellt eine grundlegende Sammlungsstruktur basierend auf der Standardvorlage von Ansible'sle oder Ihrer eigenen
  • build: Erstellt ein Sammlungsartefakt, das auf Galaxy oder Ihr eigenes Repository hochgeladen werden kann
  • publish: Galaxy veröffentlicht ein eingebautes Sammlungsartefakt
  • install: Installiert eine oder mehrere Sammlungen

Fazit

Ansible Galaxy ist eine großartige Möglichkeit, Ihre ständig wachsenden Rollenbücher zu organisieren und darüber nachzudenken. Ansible Galaxy hat ungefähr 39 Community-Autoren, 30 Rollen und 1656 Sammlungen, die verwendet werden können, um unser Automatisierungsprojekt schnell zu starten. Der Entwicklerleitfaden und der Leitfaden für Mitwirkende erklären, wie Sie zum vorhandenen Ansible Galaxy-Code beitragen können, der ein Open-Source-Projekt ist.

Dies könnte Sie auch interessieren Sysadmin-Aufgaben, die Sie mit Ansible automatisieren können.

Danke an unsere Sponsoren
Weitere großartige Lektüre zu DevOps
Treiben Sie Ihr Geschäft an
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder