So installieren Sie Ansible auf Ubuntu 18.04 (bionisch)
- 2585
- 468
- Matteo Möllinger
Ansible ist ein Automatisierungswerkzeug zum Verwalten mehrerer Remote -Hosts von der Einzelmaschine. Es bietet Ihnen ein einfach zu konfiguriertes für eine große Anzahl von Remote -Hosts. Beispielsweise führen Sie dieselben Aufgaben über mehrere Maschinen aus. Ansible bietet Ihnen die Möglichkeit, diese Aufgaben zu automatisieren.
In diesem Tutorial können Sie Ansible auf Ubuntu 18 installieren.04 (Bionic) LTS -Systeme.
Schritt 1 - SSH -Zugriff konfigurieren
Sie können wichtige SSH für die Remote Linux Ansible -Hosts konfigurieren. Für SSH ist kein Passwort erforderlich. Mit Ansible können Sie auch ein Kennwort für SSH verwenden, aber wichtiger SSH ist sicherer.
Generieren Sie ein SSH -Schlüsselpaar auf Ihrem Ansible -Server:
ssh-keygen
Kopieren Sie den öffentlichen Schlüssel in alle Ihre Remote -Hosts, die Sie über diesen SSH -Schlüssel herstellen müssen.
ssh-copy-id -i ~/.ssh/id_rsa.Pub [E -Mail geschützt] _Host
Schritt 2 - Installieren Sie Ansible auf Ubuntu 18.04
Ansible stellt seine offizielle PPA für die Installation auf Ubuntu -Systemen zur Verfügung. Führen Sie den folgenden Befehl aus, um Ansible PPA mit Ihrem Ubuntu 18 zu konfigurieren.04 System.
sudo APT-add-Repository PPA: Ansible/Ansible
Nach dem Hinzufügen des Ansible -Repositorys, der unten die folgenden Befehle zur Installation ausführen.
sudo APT Update sudo apt install Ansible
Schritt 3 - Konfigurieren Sie Ansible -Hosts & Gruppen
Ihr Server ist bereit für Remote -Hostverwaltung und Automatisierung. Sie können eine Reihe von Hosts haben, die Sie benötigen, und diese mit einem einzigen Ansible -Server verwalten.
Hier müssen Sie Ihre Remote -Systeme in den ansiblen Hosts -Dateien (/etc/ansible/hosts) definieren. Sie können auch Gruppen von Hosts mit ähnlichen Typen erstellen. Hier müssen Sie Ihre Hosts ordnungsgemäß in Gruppen organisieren. Gruppen werden verwendet, um eine Aufgabe auf allen darunter definierten Remote -Hosts auszuführen.
Bearbeiten Sie die Konfigurationsdatei ansible Hosts. Für Exmaple:
sudo nano/etc/ansible/hosts
Fügen Sie Ihre Gastgeber hinzu und organisieren Sie sie mit Gruppen. Ein Host kann unter mehreren Gruppen hinzugefügt werden.
[Webservers] Web-Host1 Web-Host2 [DBSERVERS] DB-HOST1
Das folgende Bild hilft Ihnen, Gruppen und Hosts unter einer Gruppe zu verstehen.
Einzelhost -VARS -Konfiguration
Sie müssen Einstellungen für Ihre Hosts definieren. Die host-spezifische Datei muss mit demselben Namen wie Host (z. B. Web-Host1) unter dem Verzeichnis host_vars sein.
sudo mkdir/etc/ansible/host_vars sudo vi/etc/ansible/host_vars/webhost1
Fügen Sie die SSH-Einstellungen dieser Datei für den Web-Host1 hinzu.
Ansible_SSH_HOST: 192.168.1.15 Ansible_Ssh_port: 22 Ansible_SSH_USER: root
Falls Sie Schritt 1 für die SSH -Verbindung für diesen Host nicht verwendet haben. Sie können auch eine der folgenden Methoden zur Konfigurationsdatei der Web-Hosts1 für die Authentifizierung hinzufügen.
ansible_sssh_pass: secry_password ansible_sssh_private_key_file:/home/rahul/.SSH/AWS.Pem
Gruppenvarkonfiguration
Sie können gemeinsame variable Einstellungen einer Gruppe unter Gruppenkonfigurationen konfigurieren. Der Gruppendateiname muss dem Gruppennamen (z. B.: Webserver) unter gleich sein gruppe_vars
Verzeichnis.
sudo mkdir/etc/ansible/gruppe_vars sudo vi/etc/ansible/gruppe_vars/webservers
Fügen Sie die gemeinsamen Variablen in dieser Datei hinzu, die von allen unter dieser Gruppe hinzugefügten Hosts verwendet werden.
ansible_ssh_port: 22 ansible_sssh_user: root
Schritt 4 - Testen Sie Ansible Setup
Ihr Ansible -Setup ist zum Testen bereit. So testen Sie alle Hosts -Konnektivität mit dem Ping -Modul wie:
Ansible -m Ping alle
Um die Konnektivität für einen bestimmten Host oder eine Gruppe von Hosts zu testen
Ansible -m Ping Web -Host1 ## Spezifische Host -Ansible -m -Ping -Webserver ## Spezifische Gruppe
Sie können einen Befehl auch mit dem Shell -Modul ausführen. Testen Sie beispielsweise den kostenlosen Speicher auf Web-Host1. Sie können auch die gleiche Aufgabe für eine Gruppe ausführen. Verwenden Sie einfach den Gruppennamen anstelle von Hostname.
Ansible -m Shell -a 'Free -m' Web -Host1