Ansible ist eine leistungsstarke Open-Source-Automatisierungssoftware zum Konfigurieren, Verwalten und Bereitstellen von Softwareanwendungen auf den Knoten ohne Ausfallzeiten nur mithilfe von SSH. Heutzutage werden die meisten IT-Automatisierungstools als Agent auf dem Remote-Host ausgeführt, aber ansible benötigen nur eine SSH-Verbindung und Python (2.4 oder höher), das auf den Remote-Knoten installiert ist, um seine Aktion auszuführen.
Es gibt viele ähnliche Automatisierungstools wie Puppet, Capistrano, Chef, Salt, Space Walk usw., aber Ansible kategorisiert in zwei Arten von Servern: Maschinen und Knoten steuern.
Der steuernde Computer, auf dem Ansible installiert ist und die Knoten werden von diesem steuernden Computer über SSH verwaltet. Die Position der Knoten wird durch die Steuerung der Maschine durch ihr Inventar spezifiziert.
Die steuernde Maschine (Ansible) stellt mithilfe des SSH-Protokolls Module auf Knoten bereit und diese Module werden gespeichert temporär auf Remote-Knoten und kommunizieren mit der Ansible-Maschine über eine JSON-Verbindung über den Standard Ausgang.
Ansible ist agentenlos, das bedeutet, dass keine Agenteninstallation auf Remote-Knoten erforderlich ist Es gibt keine Hintergrund-Daemons oder Programme, die für Ansible ausgeführt werden, wenn es keine verwaltet Knoten.
Ansible kann Hunderte von Knoten von einem einzigen System ü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 jedoch 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.
Ansible kann in der IT-Infrastruktur verwendet werden, um Softwareanwendungen zu verwalten und auf Remoteknoten bereitzustellen. Nehmen wir zum Beispiel an, Sie müssen eine einzelne Software oder mehrere Software mit einem einzigen Befehl auf Hunderten von Knoten bereitstellen. Hier kommt Ansible mit Hilfe von. ins Bild Ansible können Sie mit einem einzigen Befehl beliebig viele Anwendungen auf vielen Knoten bereitstellen, aber Sie müssen ein wenig Programmierkenntnisse haben, um das Ansible zu verstehen Skripte.
Wir haben eine Serie zu Ansible zusammengestellt, Titel ‘Vorbereitung für die Bereitstellung Ihrer IT-Infrastruktur mit dem Ansible IT Automation Tool“, durch die Teile 1-4 und behandelt die folgenden Themen.
Teil 1: So installieren und konfigurieren Sie Ansible für das IT-Management unter Linux
Teil 4: Verwalten verschlüsselter YAMAL-Daten mit Ansible-Vault
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 Außerdem werden wir einige Grundlagen zur Verwaltung eines Servers durch die Installation von Paketen, das Anwenden von Updates und vieles mehr von Basic bis Pro durchgehen.
Betriebssystem: Linux Mint 17.1 Rebecca. IP-Adresse: 192.168.0.254. Hostname: tecmint.instrcutor.com. Benutzer: tecmint.
Knoten 1: 192.168.0.112. Knoten 2: 192.168.0.113. Knoten 3: 192.168.0.114.
1. Vor der Installation 'Ansible‘ auf dem Server ü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 Software „Ansible“ auf dem System zu installieren.
Hier verwenden wir das offizielle Ansible PPA-Repository auf dem System. 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.
Leider gibt es kein offizielles Ansible-Repository für RedHat-basierte Klone, aber wir können es installieren Ansible durch Aktivieren des epel-Repositorys unter RHEL/CentOS 6, 7 und derzeit unterstütztem Fedora Verteilungen.
Fedora-Benutzer können Ansible direkt über das Standard-Repository installieren, aber wenn Sie RHEL/CentOS 6, 7 verwenden, müssen Sie EPEL-Repository 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.
4. Um eine Bereitstellung oder Verwaltung vom lokalen Host zum 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 tekmint (in Ihrem Fall kann es sich um einen anderen Benutzer handeln).
Lassen Sie uns zuerst einen SSH-Schlüssel mit dem folgenden Befehl erstellen und den Schlüssel auf Remote-Hosts kopieren.
# ssh-keygen -t rsa -b 4096 -C "[E-Mail geschützt]"
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 [E-Mail geschützt] # ssh-copy-id [E-Mail geschützt] # ssh-copy-id [E-Mail geschützt]
6. Nachdem Sie alle SSH-Schlüssel auf den Remote-Host kopiert haben, führen Sie nun eine SSH-Schlüssel-Authentifizierung auf allen Remote-Hosts durch, um zu überprüfen, ob die Authentifizierung funktioniert oder nicht.
$ ssh [E-Mail geschützt] $ ssh [E-Mail geschützt] $ ssh [E-Mail geschützt]