So installieren und konfigurieren Sie das "Ansible"-Automatisierungstool für das IT-Management - Teil 1
Ansible ist eine leistungsstarke Open-Source-Automatisierungssoftware zum Konfigurieren, Verwalten und Bereitstellen von Softwareanwendungen auf den Knoten ohne Ausfallzeiten allein durch die Verwendung von SSH. Heutzutage laufen die meisten IT-Automatisierungstools als Agent auf einem Remote-Host, aber ansible benötigt nur eine SSH-Verbindung und Python (2.4 oder höher), um auf den Remote-Knoten installiert zu werden, um seine Aktion auszuführen.
Wie funktioniert Ansible?
Es gibt viele ähnliche Automatisierungstools wie Puppet, Capistrano, Chef, Salt, Space Walk usw., aber Ansible unterteilt sich in zwei Arten von Servern: Steuerung von Maschinen und Knoten.
Der steuernde Computer, auf dem Ansible installiert ist und Knoten von diesem steuernden Computer über SSH verwaltet werden. Die Position der Knoten wird durch die Steuerung der Maschine über ihr Inventar angegeben.
Der steuernde Computer (Ansible) stellt Module über das SSH-Protokoll auf Knoten bereit, und diese Module werden vorübergehend auf Remote-Knoten gespeichert und kommunizieren mit dem Ansible-Computer über eine JSON-Verbindung über die Standardausgabe.
Ansible ist agentenlos, d.h. es ist keine Agenteninstallation auf Remote-Knoten erforderlich, was bedeutet, dass es keine Hintergrund-Daemons oder Programme für Ansible gibt, wenn es keine Knoten verwaltet.
Ansible kann 100 Knoten von einem einzigen System aus über eine SSH-Verbindung verarbeiten und der gesamte Vorgang kann mit einem einzigen Befehl 'ansible' abgewickelt und ausgeführt werden. In einigen Fällen, in denen Sie mehrere Befehle für eine Bereitstellung ausführen mussten, können wir hier Playbooks erstellen.
Playbooks sind eine Reihe von Befehlen, die mehrere Aufgaben ausführen können, und jedes Playbook liegt im YAML-Dateiformat vor.
Was nützt Ansible?
Ansible kann in der IT-Infrastruktur verwendet werden, um Softwareanwendungen zu verwalten und auf Remote-Knoten bereitzustellen. Nehmen wir zum Beispiel an, Sie müssen eine einzelne Software oder mehrere Software mit einem einzigen Befehl auf 100 Knoten bereitstellen, hier kommt Ansible ins Spiel, mit Hilfe von Ansible können Sie mit einem einzigen Befehl so viele Anwendungen auf viele Knoten verteilen, aber Sie müssen ein wenig Programmierkenntnisse haben, um die Ansible-Skripte zu verstehen.
Wir haben eine Serie über Ansible mit dem Titel "Vorbereitung auf die Bereitstellung Ihrer IT-Infrastruktur mit dem Ansible IT Automation Tool" zusammengestellt, die sich durch die Teile 1-4 erstreckt und die folgenden Themen abdeckt.
In diesem Artikel zeigen wir Ihnen, wie Sie 'Ansible' auf RHEL/CentOS 7/6, Fedora 21-19, Ubuntu 14.10-13.04 und Debian 7/6 Systemen installieren, und wir werden auch einige Grundlagen durchgehen, wie Sie einen Server verwalten, indem Sie Pakete installieren, Updates anwenden und vieles mehr von Basic bis Pro.
Voraussetzungen
- Betriebssystem: RHEL/CentOS/Fedora und Ubuntu/Debian/Linux Mint
- Jinja2: Eine moderne, schnelle und einfach zu bedienende, eigenständige Template-Engine für Python.
- PyYAML: Ein YAML-Parser und -Emitter für die Programmiersprache Python.
- parmiko: Eine native Python-SSHv2-Kanalbibliothek.
- httplib2: Eine umfassende HTTP-Client-Bibliothek.
- sshpass: Eine nicht-interaktive SSH-Passwortauthentifizierung.
Einrichtung meiner Umgebung
Steuerung der Maschine – Ansible
Operating System : Linux Mint 17.1 Rebecca
IP Address : 192.168.0.254
Host-name : tecmint.instrcutor.com
User : tecmint
Entfernte Knoten
Node 1: 192.168.0.112
Node 2: 192.168.0.113
Node 3: 192.168.0.114
Schritt 1: Installieren der Steuerungsmaschine – Ansible
1. Bevor wir 'Ansible' auf dem Server installieren, überprüfen wir zunächst die Details des Servers wie Hostname und IP-Adresse. Melden Sie sich als Root-Benutzer beim Server an und führen Sie den folgenden Befehl aus, um die Systemeinstellungen zu bestätigen, die wir für dieses Setup verwenden werden.
# sudo ifconfig | grep inet
2. Sobald Sie Ihre Systemeinstellungen bestätigt haben, ist es an der Zeit, die "Ansible"-Software auf dem System zu installieren.
Unter Ubuntu/Debian/Linux Mint
Hier werden wir das offizielle Ansible PPA-Repository auf dem System verwenden, führen Sie einfach die folgenden Befehle aus, um das Repository hinzuzufügen.
$ sudo apt-add-repository ppa:ansible/ansible -y
sudo apt-get update && sudo apt-get install ansible -y
Auf RHEL/CentOS/Fedora
Leider gibt es kein offizielles Ansible-Repository für RedHat-basierte Klone, aber wir können Ansible installieren, indem wir das epel-Repository unter RHEL/CentOS 6, 7 und derzeit unterstützten Fedora-Distributionen aktivieren.
Fedora-Benutzer können Ansible direkt über das Standard-Repository installieren, aber wenn Sie RHEL/CentOS 6, 7 verwenden, müssen Sie das EPEL-Repo aktivieren.
Nachdem Sie das epel-Repository konfiguriert haben, können Sie Ansible mit dem folgenden Befehl installieren.
$ sudo yum install ansible -y
Nach erfolgreicher Installation können Sie die Version überprüfen, indem Sie den folgenden Befehl ausführen.
# ansible --version
Schritt 2: Vorbereiten von SSH-Schlüsseln für Remote-Hosts
4. Um eine Bereitstellung oder Verwaltung vom localhost auf den Remote-Host durchzuführen, müssen wir zuerst die SSH-Schlüssel erstellen und auf den Remote-Host kopieren. In jedem Remote-Host gibt es ein Benutzerkonto tecmint (in Ihrem Fall kann es sich um einen anderen Benutzer handeln).
Lassen Sie uns zunächst mit dem folgenden Befehl einen SSH-Schlüssel erstellen und den Schlüssel auf Remote-Hosts kopieren.
# ssh-keygen -t rsa -b 4096 -C "[email "
5. Nachdem Sie den SSH-Schlüssel erfolgreich erstellt haben, kopieren Sie nun den erstellten Schlüssel auf alle drei Remote-Server.
# ssh-copy-id [email
ssh-copy-id [email
ssh-copy-id [email
6. Nachdem Sie alle SSH-Schlüssel auf den Remote-Host kopiert haben, führen Sie nun eine SSH-Schlüsselauthentifizierung auf allen Remote-Hosts durch, um zu überprüfen, ob die Authentifizierung funktioniert oder nicht.
$ ssh [email
ssh [email
ssh [email








