So installieren und konfigurieren Sie das „Ansible' -Automatisierungstool für IT -Management - Teil 1

So installieren und konfigurieren Sie das „Ansible' -Automatisierungstool für IT -Management - Teil 1

Ansible ist eine Open -Source -Automatisierungssoftware zum Konfigurieren, Verwalten und Bereitstellen von Softwareanwendungen auf den Knoten ohne Ausfallzeiten mit SSH. Heute wird die meisten IT -Automatisierungswerkzeuge als Agent im Remote -Host ausgeführt, aber Ansible benötigt nur eine SSH -Verbindung und Python (2.4 oder später), um auf den Remote -Knoten installiert zu werden, um seine Aktion auszuführen.

Installieren Sie Ansible unter Linux

Wie Ansible funktioniert?

Es gibt viele ähnliche Automatisierungswerkzeuge wie Puppen-, Capistrano, Koch, Salz, Weltraumspaziergang usw., aber Ansible kategorisieren in zwei Arten von Server: Kontrolle von Maschinen und Knoten.

Die Steuermaschine, bei der Ansible installiert ist und die Knoten von dieser Steuermaschine über SSH verwaltet werden. Die Position der Knoten wird durch Steuerung der Maschine über das Inventar angegeben.

Die Steuerungsmaschine (ansible) bereitet Module mithilfe des SSH -Protokolls für Knoten ein. Diese Module werden vorübergehend auf entfernten Knoten gespeichert und über eine JSON -Verbindung über die Standardausgabe mit der Ansible -Maschine kommunizieren.

Ansible ist agentenfrei, was bedeutet, dass keine Agenteninstallation auf Remote-Knoten erforderlich ist. Dies bedeutet, dass keine Hintergrund-Dämonen oder Programme für Ansible ausgeführt werden, wenn es keine Knoten verwaltet.

Ansible kann 100er Knoten aus einem einzigen System über SSH -Verbindung verarbeiten, und der gesamte Vorgang kann von einem einzigen Befehl "Ansible" behandelt und ausgeführt werden. In einigen Fällen, in denen Sie mehrere Befehle für eine Bereitstellung ausführen müssen, können wir hier Playbooks erstellen.

Playbooks sind eine Reihe von Befehlen, die mehrere Aufgaben ausführen können, und jede Playbooks befindet sich im YAML -Dateiformat.

Was nutzt Ansible

Ansible kann in der IT -Infrastruktur verwendet werden, um Softwareanwendungen an Remote -Knoten zu verwalten und bereitzustellen. Nehmen wir beispielsweise an, Sie müssen eine einzige Software oder mehrere Software für einen einzigen Befehl für 100er -Knoten bereitstellen. Hier kommt Ansible mit Hilfe von Ansible ins Bild. Sie müssen jedoch ein kleines Programmierkenntnis haben, um die Ansible -Skripte zu verstehen.

Wir haben eine Serie über Ansible, Titel zusammengestelltVorbereitung auf die Bereitstellung Ihrer IT -Infrastruktur mit Ansible IT -Automatisierungstool', durch die Teile 1-4 und deckt die folgenden Themen ab.

Teil 1: So installieren und konfigurieren Sie Ansible für die IT -Verwaltung unter Linux Teil 2: So verwenden Sie Anisble -Playbooks, um komplexe Aufgaben auf mehreren Remote -Servern zu automatisieren Teil 3: So automatisieren Sie gleichzeitige WordPress -Bereitstellungen in mehreren Linux -Servern mit Ansible Teil 4: Verwaltung 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 installieren.10-13.04 und Debian 7/6 Systeme und wir werden auch einige Grundlagen dafür durchlaufen.

Voraussetzungen

  1. Betriebssystem: Rhel/Centos/Fedora und Ubuntu/Debian/Linux Mint
  2. Jinja2: Eine moderne, schnelle und einfach zu verwendende eigenständige Template-Engine für Python.
  3. Pyyaml: Ein Yaml -Parser und Emitter für die Python -Programmiersprache.
  4. Parmiko: Eine native Python SSHV2 -Kanalbibliothek.
  5. httplib2: Eine umfassende HTTP -Client -Bibliothek.
  6. sshpass: Eine nicht interaktive SSH-Kennwortauthentifizierung.

Meine Umgebung eingerichtet

Steuerungsmaschine - Ansible
Betriebssystem: Linux Mint 17.1 Rebecca IP -Adresse: 192.168.0.254 Hostname: Tecmint.Instrcutor.com Benutzer: Tecmint 
Fernknoten
Knoten 1: 192.168.0.112 Knoten 2: 192.168.0.113 Knoten 3: 192.168.0.114 

Schritt 1: Installieren der Steuerungsmaschine - Ansible

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 auf den 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 
Überprüfen Sie die Systemdetails

2. Sobald Sie Ihre Systemeinstellungen bestätigt haben, ist es an der Zeit, die "Ansible" -Software im System zu installieren.

Auf Ubuntu/Debian/Linux Mint

Hier werden wir das offizielle Ansible PPA -Repository im 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 
Ansible PPA hinzufügen Installieren Sie Ansible in Ubuntu
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 aktivieren und derzeit Fedora -Verteilungen unterstützt haben.

Fedora -Benutzer können Ansible direkt über das Standard -Repository installieren. Wenn Sie jedoch RHEL/Centos 6, 7 verwenden, müssen Sie EPEL Repo aktivieren.

Nach dem Konfigurieren von Epel -Repository 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 -Verssion 
Überprüfen Sie die Ansible -Version

Schritt 2: Vorbereitung von SSH -Tasten auf Remote -Hosts

4. Um eine Bereitstellung oder Verwaltung vom Localhost zum Remote -Host auszuführen, müssen wir die SSH -Schlüssel erstellen und kopieren in den Remote -Host. In jedem Remote -Host gibt es ein Benutzerkonto Tecmint (In Ihrem Fall kann ein anderer Benutzer sein).

Lassen Sie zuerst einen SSH -Taste mit dem folgenden Befehl erstellen und kopieren Sie den Schlüssel zu Remote -Hosts.

# SSH -Keygen -t RSA -B 4096 -c "[E -Mail geschützt]" 
Erstellen Sie SSH -Schlüssel

5. Kopieren Sie den SSH -Schlüssel 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] 
Kopieren Sie den SSH -Key -Remote -Server Kopieren Sie SSH Key Second Remote Host

6. Führen Sie jetzt eine SSH -Key -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] 
SSH Key Authentication Pages: 1 2