Heutzutage ist Ansible eines der am weitesten verbreiteten Automatisierungstools in der IT. Die große Herausforderung bei der großen Anzahl verfügbarer Module und Rollen in der Community, die unterschiedliche Anwendungsfälle bedienen, besteht jedoch darin, die richtig gehärteten Module zu finden, die für Produktionsumgebungen geeignet und zuverlässig sind.
Wenn Sie Community-Module und -Rollen in Playbooks verwenden, um Ihre Produktionsumgebungen zu automatisieren, müssen Sie deren Lebenszyklus im Auge behalten und ihre Kompatibilität mit neuen Ansible-Versionen überprüfen.
Diese Herausforderungen machen die Zuverlässigkeit von Ansible-Community-Modulen und -Rollen fragwürdig.
Red Hat Automation Hub
Red Hat hat kürzlich sein Ansible-Abonnementmodell geändert und viele neue Online-Ansible-Produkte eingeführt, auf die Sie über die Red Hat Cloud Tools-Website zugreifen können, wenn Sie über das richtige Ansible-Abonnement verfügen.
Das wichtigste Online-Produkt dort, von dem ich glaube, dass es Ansible zuverlässiger machen wird, ist der Red Hat Automation Hub. Es wäre nicht übertrieben, wenn ich sagen würde, dass es das Vertrauensniveau stark erhöhen wird. Red Hat Automation Hub ist die unterstützte Version von Modulen und Rollen in Ansible Galaxy.
Red Hat testet und härtet die Module und Rollen, bevor sie im Automation Hub veröffentlicht werden. Sie können sie als Red Hat Registry Available for Open Shift sehen, diesmal jedoch für Ansible. Der Automation Hub ist immer noch ein neues Produkt, das nicht viele Module hat, aber Red Hat fügt ständig weitere hinzu.
Sammlungen und FQCN
Red Hat gruppiert Module und Rollen im Automation Hub in Sammlungen . Wenn Sie im Playbook ein Modul aus einer installierten Sammlung verwenden, verweisen Sie darauf, indem Sie den „Full Qualified Collection Name“ oder den FQCN verwenden, der normalerweise das folgende Format hat:
namespace.collection.module
Der Automation Hub ist jedoch ein neues Produkt. Sie können immer noch einige Module finden, die nur namentlich referenziert werden müssen, wie es immer noch bei den F5-Sammlungen und Ansible 2.9 der Fall ist. Sie können jederzeit einen Fall beim Red Hat Support eröffnen, wenn die Module nicht funktionieren, und sie werden Sie beraten. Mit dem Automation Hub sind Sie nicht mehr allein.
[ Leser mochten auch: Erste Schritte mit Ansible ]
Gestaltung
In diesem Artikel werden wir die Ansible-Engine installieren. Die Installation basiert auf RHEL8.2. Es verfügt über Python 3.6, das weiterhin unterstützt wird, und es ist eine Voraussetzung für viele der neueren Ansible-Module.
Ansible Engine hat drei verschiedene Ebenen:
- Betriebssystem, in unserem Fall RHEL8.2.
- Ansible-Binärdateien.
- Zusätzliche Module (in Red Hat Automation Hub werden sie Sammlungen genannt).
Annahmen:
- Das Herunterladen von Sammlungen erfordert die Verwendung der RHEL-basierten Ansible Engine. Die Installation von RHEL8.2 liegt außerhalb des Geltungsbereichs dieses Artikels, daher wird davon ausgegangen, dass ein einsatzbereiter Server vorhanden ist.
- Sie haben die entsprechenden Red Hat Ansible Subscriptions.
- Die Installation und Verwendung von Ansible Tower ist nicht Gegenstand dieses Artikels.
- Die Installation erfolgt hinter einem Proxy. Wenn Sie Ansible Engine jedoch auf einem System installieren, das direkt mit dem Internet verbunden ist, können Sie die Proxy-bezogenen Schritte überspringen.
- Ansible 2.9 wird installiert und verwendet.
Installieren von Ansible Engine
Führen Sie nach einer Neuinstallation von RHEL8.2 die folgenden Schritte aus, um Ansible Engine zu installieren:
1. Bearbeiten Sie die RHSM-Konfigurationsdatei:
# vi /etc/rhsm/rhsm.conf
2. Ändern Sie diesen Abschnitt in der RHSM-Konfigurationsdatei mit den Proxy-Details und speichern Sie dann die Datei:
# an http proxy server to use
proxy_hostname =
# The scheme to use for the proxy when updating repo definitions, if needed
# e.g. http or https
proxy_scheme = http
# port for http proxy server
proxy_port =
# user name for authenticating to an http proxy, if needed
proxy_user =
# password for basic http proxy auth, if needed
proxy_password =
3. Registrieren Sie sich bei RHSM:
# subscription-manager register
4. Anhängen an Ihre RHEL- und Red Hat Ansible Engine-Abonnements. Dieser Befehl hilft Ihnen, die verfügbaren RHEL Red Hat Ansible Engine-Abonnements zu finden:
# subscription-manager list --available
5. Holen Sie sich die Pool-ID des Abonnements und führen Sie Folgendes aus:
# subscription-manager attach --pool=<pool id here of RHEL subscription>
# subscription-manager attach --pool=<pool id here of engine subscription>
6. Aktivieren Sie die zugehörigen Repositories:
# subscription-manager repos --enable rhel-8-for-x86_64-appstream-rpms --enable rhel-8-for-x86_64-baseos-rpms --enable ansible-2.9-for-rhel-8-x86_64-rpms
7. Ansible installieren:
# yum install -y ansible
8. Aktualisieren Sie die Binärdateien des Betriebssystems:
# yum update -y
9. Starten Sie den Knoten neu.
Installieren der F5-Sammlung
Die Konfiguration einer standardmäßigen Ansible-Installation verweist auf die Upstream-Ansible-Galaxy, daher muss die Ansible-Konfiguration so geändert werden, dass sie Red Hat Automation Hub wie folgt enthält:
1. Rufen Sie die Automation Hub Token Management-Website von Red Hat auf.
2. Melden Sie sich mit Ihrem Benutzernamen und Passwort auf der Seite Red Hat Cloud Tools an.
3. Drücken Sie API-Token abrufen .
4. Kopieren Sie das Token.
5. Bearbeiten Sie die Ansible-Konfigurationsdatei:
# vi /etc/ansible/ansible.cfg
6. Fügen Sie am Ende der Konfigurationsdatei die folgenden Zeilen hinzu:
[galaxy]
server_list = automation_hub, release_galaxy, test_galaxy
[galaxy_server.automation_hub]
url=https://cloud.redhat.com/api/automation-hub/
auth_url=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token
token=" Paste Token"
7. Speichern Sie die ansible.cfg
Konfigurationsdatei.
Jetzt können Sie die Sammlungen herunterladen, aber bevor Sie beginnen, sollten Sie einige Punkte beachten:
1. Wenn der Ansible-Knoten nicht direkt mit dem Internet verbunden ist, müssen Sie einen Proxy festlegen, von dem aus das Internet erreichbar ist. Das Festlegen des Proxys muss temporär sein und sollte nicht bei neuen SSH-Sitzungen andauern, damit beim Ausführen eines Playbooks, das ein Zielsystem mithilfe seiner API über HTTP oder HTTPS automatisiert, das Playbook nicht fehlschlägt.
So stellen Sie den Proxy ein:
$ export http_proxy='proxy.example.com:port'
$ export https_proxy='proxy.example.com:port'
Anmerkung:Sammlungen können bei einer Offline-Installation als Tarball-Dateien heruntergeladen und dann gemäß dem nächsten Punkt im Standardpfad installiert werden.
2. Die Sammlung wird heruntergeladen und lokal im Home-Verzeichnis des aktuellen Benutzers installiert. Es wird unter folgendem Pfad installiert:
$HOME/.ansible/collections/ansible_collections/
Der folgende Befehl kann verwendet werden, um jede Sammlung herunterzuladen:
$ ansible-galaxy collection download namespace.collection
Wählen Sie auf der Red Hat Cloud Tools-Website die relevante Sammlungsseite aus und Sie können den genauen Befehl im Screenshot unten sehen:
Um die F5-Sammlung herunterzuladen, führen Sie den folgenden Befehl aus:
$ ansible-galaxy collection install f5networks.f5_modules
Ein Beispiel-Playbook
Um mit der Automatisierung der F5-Geräte zu beginnen, sollte das Netzwerk wie folgt eingestellt werden, wo der Ansible-Knoten die F5-Verwaltungsschnittstelle (Port) erreichen kann:
Im Sammlungsleitfaden auf der Red Hat Cloud Tools-Website wird Ihnen empfohlen, den FQCN zu verwenden, aber leider war dies zum Zeitpunkt der Erstellung dieses Artikels nicht möglich. Laut der gitMemory-Site könnte dies in Ansible 2.10 behoben werden:
Sehen Sie sich auf meiner GitHub-Website ein Beispiel für ein funktionierendes Playbook an.
Die IP im Playbook sollte durch die Verwaltungsschnittstellen-IP für die F5-Geräte ersetzt werden, und das Passwort sollte durch das „admin“-Passwort ersetzt werden, das mit Ansible-Vault gesichert ist.
[ Ein kostenloser Leitfaden von Red Hat:5 Schritte zur Automatisierung Ihres Unternehmens. ]
Abschluss
- Ansible Automation Hub ist ein sehr vielversprechendes Produkt von Red Hat, das Ansible von einem von der Community unterstützten Automatisierungstool zu einem Tool der Unternehmensklasse machen würde.
- Der Hub steht noch am Anfang im Vergleich zu der Anzahl der Rollen und Module, die im Upstream verfügbar sind, aber erst in den letzten Wochen habe ich festgestellt, dass mehr Anbieter dem Hub beigetreten sind (z. B. HP, Arista usw.). )
- Einige vom Hub heruntergeladene Module können immer noch nicht mit ihrem FQCN referenziert werden. Wenn Sie also seltsame Fehler erhalten, versuchen Sie, sie nur mit ihren Namen zu referenzieren, bevor Sie einen Fall beim Red Hat Support eröffnen.
- Ich glaube, dass die Möglichkeit, den Automation Hub auf einen lokalen zu spiegeln, beispielsweise in Satellite, den Automation Hub viel wertvoller machen wird.
Referenzen
- Weitere Informationen zur Installation von Ansible Engine finden Sie im Artikel How do I Download and Install Red Hat Ansible Engine?
- Weitere Einzelheiten zum Umgang mit Sammlungen finden Sie unter Verwenden von Ansible-Sammlungen.