GNU/Linux >> LINUX-Kenntnisse >  >> Linux

RHCE Ansible Serie Nr. 1:Sag Hallo zu Ansible

In dieser Ansible-Reihe lernen Sie alle Fähigkeiten kennen, die Sie zum Verwalten und Automatisieren Ihres IT-Infrastrukturbetriebs mit Ansible benötigen.

Außerdem werden alle Ziele für die Prüfung RHCE (Red Hat Certified Engineer) EX294 in dieser Reihe behandelt. Das bedeutet, dass Sie bestens darauf vorbereitet sind, die EX294-Prüfung zu bestehen und ein Red Hat Certified Engineer zu werden, wenn Sie der Serie folgen.

Was ist Ansible?

Ansible ist ein Open-Source-Tool für Konfigurationsmanagement, Softwarebereitstellung und Anwendungsbereitstellung, das die Automatisierung Ihrer Anwendungsbereitstellung und des IT-Infrastrukturbetriebs sehr einfach macht.

Ansible ist sehr leichtgewichtig, einfach zu konfigurieren und nicht ressourcenintensiv, da es im Gegensatz zu anderen Automatisierungstools, z. B. Puppet, das agentenbasiert und etwas komplex zu konfigurieren ist, keinen Agenten zum Ausführen (ohne Agenten) benötigt.

Dies erklärt, warum Ansible jeden Tag an Popularität gewinnt und für viele Unternehmen zum Goto-Automatisierungstool wird.

In der Science-Fiction bezieht sich das Wort Ansible auf ein hypothetisches Gerät, das Benutzern die sofortige Kommunikation über große Entfernungen ermöglicht; das heißt, ein Kommunikationsgerät, das schneller als Licht ist. Jetzt wissen Sie, woher Ansible seine Namensinspiration hat.

Erstellen Sie Ihren Spielplatz

Um das Beste aus dieser Serie zu machen und schmerzlos mitzumachen, empfehle ich Ihnen, dasselbe Setup zu verwenden, das ich verwende.

Ich habe eine virtuelle RHEL 8-Maschine (Red Hat Enterprise Linux) erstellt, die als Kontrollknoten dienen würde. Ein Kontrollknoten ist, wie der Name schon sagt, im Grunde ein Server, der verwendet wird, um andere entfernte Hosts (verwaltete Knoten) zu steuern.

Ich habe drei virtuelle CentOS 8-Maschinen für verwaltete Knoten erstellt:Knoten1, Knoten2 und Knoten3. Ich habe auch ein Ubuntu 18.04 für den letzten verwalteten Knoten erstellt.

Hier ist ein Diagramm, das die gesamte Einrichtung zusammenfasst:

Ich habe nicht genug Ressourcen auf meinem Computer, um all diese virtuellen Maschinen zu erstellen, ohne dass mein Computer abstürzt. Also habe ich alle virtuellen Maschinen von Microsoft Azure verwendet, wie Sie im Screenshot unten sehen können:

Sie können alle anderen Cloud-Server-Anbieter wie AWS, Linode, Digital Ocean, UpCloud usw. verwenden. Die meisten von ihnen bieten neuen Benutzern kostenlose Credits im Wert von 50 oder 100 US-Dollar. Sie können sich bei einem dieser Dienste anmelden und die kostenlosen Credits verwenden, um Ihr Setup für die Verfolgung dieser Ansible-Reihe vorzubereiten.

Installation von Ansible

Ansible verlässt sich auf SSH und Python, um die gesamte Automatisierungsmagie auszuführen. Daher müssen Sie Ansible nur auf dem Kontrollknoten installieren und sicherstellen, dass OpenSSH und Python sowohl auf dem Kontrollknoten als auch auf den verwalteten Knoten installiert sind.

Um es kurz zu machen, Sie müssen Ansible nicht auf den verwalteten Knoten installiert haben!

Jetzt werde ich Ihnen zeigen, wie Sie Ansible auf einer Vielzahl von Systemen installieren.

Installieren von Ansible auf RHEL-Systemen

Ich beginne damit, Ihnen zu zeigen, wie Sie Ansible auf einem RHEL 8-System installieren, da diese Serie hauptsächlich auf alle RHCE-Prüfungsziele abzielt.

Melden Sie sich bei Ihrem Kontrollknoten an und wechseln Sie zum Root-Benutzer:

[[email protected] ~]$ sudo su -
Last login: Tue Oct 20 01:05:00 UTC 2020 on pts/0

Wenn Sie die Linux-Versionsinformationen überprüfen, können Sie sehen, dass ich RHEL 8.2 ausführe und dies als Kontrollknoten verwenden werde:

[[email protected] ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.2 (Ootpa)

Um Ansible auf einem RHEL 8-System zu installieren, müssen Sie Ihr System zunächst beim Subscription-Manager registrieren Befehl:

[[email protected] ~]# subscription-manager register
Registering to: subscription.rhsm.redhat.com:443/subscription
Username:xxxxx
Password: xxxxx
The system has been registered with ID: 1d8ace59-c140-4f8c-b4bb-b4cd0f4fb811
The registered system name is: control

Wie Sie sehen, werden Sie zur Eingabe eines Benutzernamens und eines Passworts aufgefordert. Wenn Sie kein Red Hat-Konto haben, können Sie ein Konto erstellen und eine kostenlose Testversion erhalten.

Sie würden dann das neue Abonnement mit dem folgenden Befehl anhängen:

[[email protected] ~]# subscription-manager attach --auto
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux for x86_64
Status: Subscribed

Product Name: Red Hat Enterprise Linux for x86_64 - Extended Update Support
Status: Subscribed

Beachten Sie, dass Sie das Abonnement mit einem einzigen Befehl hätten registrieren und anhängen können:

subscription-manager register --username=<USER_NAME> --password=<PASSWORD> --auto-attach

Jetzt haben wir Zugriff auf alle RHEL 8-Repositories. Sie können alle verfügbaren Ansible-Repositories auflisten, indem Sie den folgenden Befehl ausführen:

[[email protected] ~]# yum repolist all | grep ansible
ansible-2-for-rhel-8-x86_64-debug-rpms Red Hat Ansible E disabled
ansible-2-for-rhel-8-x86_64-rpms Red Hat Ansible E disabled
ansible-2-for-rhel-8-x86_64-source-rpms Red Hat Ansible E disabled
ansible-2.8-for-rhel-8-x86_64-debug-rpms Red Hat Ansible E disabled
ansible-2.8-for-rhel-8-x86_64-rpms Red Hat Ansible E disabled
ansible-2.8-for-rhel-8-x86_64-source-rpms Red Hat Ansible E disabled
ansible-2.9-for-rhel-8-x86_64-debug-rpms Red Hat Ansible E disabled
ansible-2.9-for-rhel-8-x86_64-rpms Red Hat Ansible E disabled
ansible-2.9-for-rhel-8-x86_64-source-rpms Red Hat Ansible E disabled

Suchen Sie nun das neueste Ansible-Versions-Repository und aktivieren Sie es. Zum Zeitpunkt der Erstellung dieses Artikels war ansible-2.9 ist die neueste Version und daher werde ich ansible-2.9-for-rhel-8-x86_64-rpms aktivieren mit dem yum_config_manager Befehl wie folgt:

[[email protected] ~]# yum-config-manager --enable ansible-2.9-for-rhel-8-x86_64-rpms
Updating Subscription Management repositories.

Sie können jetzt überprüfen, ob das Ansible-Repository tatsächlich aktiviert ist, indem Sie alle aktivierten Repositories auf Ihrem System auflisten:

[[email protected] ~]# yum repolist enabled
Updating Subscription Management repositories.
repo id                                                         repo name
ansible-2.9-for-rhel-8-x86_64-rpms Red Hat Ansible Engine 2.9 for RHEL 8 x86_64 (RPMs)
microsoft-azure-rhel8-eus Microsoft Azure RPMs for RHEL8 Extended Update Support
rhel-8-for-x86_64-appstream-eus-rhui-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream - Extended Update Support from RHUI (RPMs)
rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
rhel-8-for-x86_64-baseos-eus-rhui-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS - Extended Update Support from RHUI (RPMs)
rhel-8-for-x86_64-baseos-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)

All diese Vorarbeiten sind erledigt. Sie können nun endlich Ansible installieren:

[[email protected] ~]# yum install -y ansible

Nachdem die Installation abgeschlossen ist. Sie können überprüfen, ob Ansible tatsächlich installiert ist, indem Sie den folgenden Befehl ausführen:

[[email protected] ~]# ansible --version
ansible 2.9.14
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3.6/site-packages/ansible
executable location = /usr/bin/ansible
python version = 3.6.8 (default, Dec  5 2019, 15:45:45) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]

Fantastisch! Sie haben Ansible jetzt erfolgreich auf RHEL 8 installiert. Ich bin sicher, Sie denken vielleicht, dass dies ein langwieriger Prozess war!

Auf der positiven Seite wird es während der Prüfung keinen Internetzugang geben, was bedeutet, dass Ihr Kontrollsystem mit allen Repositories ausgestattet ist, die Sie benötigen, und Sie sich keine Gedanken über die Verwendung des Abonnement-Managers machen müssen.

Aber es ist besser, vorbereitet zu sein, als überrascht zu werden, denken Sie immer daran!

Installieren von Ansible auf CentOS

Auf CentOS wird Ansible vom EPEL-Repository (Extra Package for Enterprise Linux) bereitgestellt.

Sie können das EPEL-Repo installieren und aktivieren, indem Sie epel-release installieren Paket wie folgt:

[[email protected] ~]# yum install -y epel-release

Jetzt können Sie ansible installieren:

[[email protected] ~]# yum install -y ansible

Denken Sie daran, dass wir Ansible nur zu Lernzwecken auf einem der verwalteten Knoten hier (node1) installiert haben; Sie müssen Ansible nur auf dem Kontrollknoten installieren.

Installation von Ansible auf Ubuntu

Unter Ubuntu müssen Sie sicherstellen, dass das Repository der gewünschten Ansible-Version auf Ihrem System aktiviert ist.

Sie können das Ansible-2.9-PPA-Repository mit dem folgenden Befehl hinzufügen und aktivieren:

[email protected]:~# apt-add-repository --yes --update ppa:ansible/ansible-2.9

Schließlich können Sie Ansible auf Ubuntu installieren:

[email protected]:~# apt-get -y install ansible

Damit sind wir am Ende unseres ersten Tutorials in dieser RHCE Ansible-Vorbereitungsreihe angelangt.

Seien Sie gespannt auf das nächste Tutorial, da Sie lernen werden, wie Sie Ansible konfigurieren und einige wirklich coole Ad-Hoc-Ansible-Befehle ausführen können.


Linux
  1. Dekonstruktion eines Ansible-Playbooks

  2. YAML für Ansible verstehen

  3. RHCE Ansible Series #8:Verschlüsseln von Inhalten mit Ansible Vault

  4. RHCE Ansible Series #7:Jinja2-Vorlagen

  5. RHCE Ansible Series #6:Entscheidungsfindung in Ansible

So installieren Sie Ansible auf Ubuntu

So installieren Sie eine Ansible Collection auf einem getrennten Ansible Control Node

Eine Einführung in Ansible-Fakten

RHCE Ansible Series #2:Ausführen von Ad-hoc-Befehlen

RHCE Ansible Series #3:Ansible Playbooks

RHCE Ansible Series #12:Ansible-Fehlerbehebung