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

So installieren Sie Ansible unter Ubuntu 20.04 LTS / 21.04

Ansible ist ein kostenloses und quelloffenes IT-Automatisierungs- und Konfigurationstool. Es ist für fast alle Linux-Distributionen verfügbar und kann zur Verwaltung von Linux- und Windows-Systemen verwendet werden. Heutzutage wird Ansible auch verwendet, um EC2-Instanzen in AWS, virtuellen Maschinen und Containern usw. zu verwalten. Es erfordert keinen Agenten auf verwalteten Hosts, sondern nur eine SSH-Verbindung.

In diesem Artikel behandeln wir, wie Sie die neueste Version von Ansible auf Ubuntu 20.04 LTS / 21.04 installieren

Systemanforderungen für Ansible

  • Minimal installiertes Ubuntu 20.04 LTS / 21.04
  • sudo-Benutzer mit Root-Rechten
  • 2 CPU / vCPU
  • 2 GB RAM oder mehr
  • 20-GB-Festplatte
  • Internetverbindung (falls Sie keinen lokal konfigurierten apt-Repository-Server haben)

Im Folgenden finden Sie meine Lab-Setup-Details für eine ansible Demonstration.

  • Ansible Control Node – control.example.com (192.168.1.112)
  • Ansible Managed Nodes – node1.example.com &node2.example.com
  • sysops sudo-Benutzer auf Kontroll- und verwalteten Knoten mit Berechtigungen.

Hinweis:Hier ist Knoten1 ein Ubuntu-System und Knoten2 ist ein CentOS-System und Steuerknoten ist das System, auf dem wir Ansible installieren werden. Ich gehe davon aus, dass Sysops bereits auf jedem Host erstellt wurde.

Um den sudo-Benutzer (sysops) so zu konfigurieren, dass alle Befehle ohne Aufforderung zur Eingabe des Passworts ausgeführt werden, führen Sie den folgenden Befehl auf jedem verwalteten Host aus

echo "sysops ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/sysops

Lassen Sie uns zu den Installationsschritten von Ansible

springen

Schritt 1) ​​Wenden Sie Aktualisierungen auf dem Kontrollknoten an

Melden Sie sich beim Ubuntu 20.04 LTS / 21.04-System an und führen Sie die folgenden apt-Befehle aus, um Updates anzuwenden.

$ sudo apt update
$ sudo apt updgrade -y

Sobald alle Updates installiert sind, starten Sie das System einmal neu.

$ sudo reboot

Schritt 2) Installieren Sie Abhängigkeiten und konfigurieren Sie Ansible Repository

Installieren Sie Ansible-Abhängigkeiten, indem Sie den folgenden apt-Befehl ausführen:

$ sudo apt install -y software-properties-common

Sobald die Abhängigkeiten installiert sind, konfigurieren Sie das PPA-Repository für ansible, führen Sie

aus
$ sudo add-apt-repository --yes --update ppa:ansible/ansible

Aktualisieren Sie jetzt das Repository, indem Sie es unter dem Befehl apt ausführen.

$ sudo apt update

Schritt 3) Installieren Sie die neueste Version von Ansible

Jetzt sind wir bereit, die neueste Version von Ansible auf Ubuntu 20.04 LTS / 21.04 zu installieren, führen Sie den folgenden Befehl aus.

$ sudo apt install -y ansible

Überprüfen Sie nach der erfolgreichen Installation von Ansible dessen Version, indem Sie den Befehl

ausführen
$ ansible --version

Großartig, obige Ausgabe bestätigt, dass Ansible Version 2.9.6 installiert ist.

Schritt 4) Richten Sie SSH-Schlüssel ein und teilen Sie sie unter verwalteten Knoten

Lassen Sie uns nun die SSH-Schlüssel für den Sysops-Benutzer vom Kontrollknoten generieren und für verwaltete Hosts freigeben. Führen Sie den ssh-keygen-Befehl aus

$ ssh-keygen

Drücken Sie die Eingabetaste, wenn Sie zur Eingabe aufgefordert werden. Die Ausgabe wird unten angezeigt

Hinweis:Fügen Sie Einträge für verwaltete Hosts in die Datei /etc/hosts auf dem Steuerknoten hinzu. Dies ist nur erforderlich, wenn Sie keinen lokalen DNS-Server konfiguriert haben.

192.168.1.115   node1.example.com
192.168.1.120   node2.example.com

Um die SSH-Schlüssel zwischen der Steuerung und den verwalteten Hosts zu teilen, führen Sie das unten gezeigte Beispiel für den Befehl ssh-copy-id aus

$ ssh-copy-id node1.example.com
$ ssh-copy-id node2.example.com

Die Ausgabe der obigen Befehle würde wie unten aussehen

Schritt 5) Ansible CFG- und Inventardatei erstellen

Es wird immer empfohlen, für jedes Projekt eine separate ansible.cfg- und Inventory-Datei zu haben. Für Demonstrationszwecke verwende ich Demo als Projektnamen. Erstellen Sie also zuerst den Projektordner, indem Sie den Befehl mkdir ausführen.

$ mkdir demo

Kopieren Sie die Standarddatei ansble.cfg in den Ordner ~/demo,

$ cp /etc/ansible/ansible.cfg ~/demo/

Bearbeiten Sie die Datei ~/demo/ansible.cfg, setzen Sie die folgenden Parameter,

$ vi ~/demo/ansible.cfg

Unter den Standardabschnitten

inventory      = /home/sysops/demo/inventory
remote_user = sysops
host_key_checking = False

Unter dem Abschnitt "privileg_escalation"

become=True
become_method=sudo
become_user=root
become_ask_pass=False

Speichern und schließen Sie die Datei. Lassen Sie uns nun die Inventardatei erstellen, die wir in der Datei ~/demo/ansible.cfg definiert haben.

$ vi ~/demo/inventory
[dev]
node1.example.com

[prod]
node2.example.com

Speichern und beenden Sie die Datei

Weisen Sie Ansible nun endlich an, die Datei ansible.cfg des Demoprojekts zu verwenden, indem Sie die Variable ANSIBLE_CONFIG deklarieren, führen Sie die folgenden Befehle aus,

$ export ANSIBLE_CONFIG=/home/sysops/demo/ansible.cfg
$ echo "export ANSIBLE_CONFIG=/home/sysops/demo/ansible.cfg" >> ~/.profile

Führen Sie den Befehl ansible –version aus dem Demoordner aus, um die Ansible-Konfiguration zu überprüfen

$ cd demo/
$ ansible --version

Großartig, Ansible liest jetzt die Ansible-Konfigurationsdatei unseres Projekts. Lassen Sie uns die Konnektivität der verwalteten Knoten mit dem Ansible-Ad-hoc-Befehl überprüfen,

$ ansible all -m ping

Hinweis:Stellen Sie sicher, dass Sie den ansible-Befehl aus dem Demo-Ordner ausführen.

Die Ausgabe des Befehls würde wie folgt aussehen:

Diese Ausgabe bestätigt, dass die Konnektivität vom Kontrollknoten zu den verwalteten Hosts vorhanden ist.

Schritt 6) Erstellen Sie ein Ansible-Playbook, um Pakete auf verwalteten Hosts zu installieren

Um die Ansible-Installation und -Konfiguration zu überprüfen, erstellen wir ein Beispiel-Playbook mit dem Namen „packages.yaml“ im Ordner „demo“.

$ vi packages.yaml
---
- name: Playbook to Install Packages
  hosts:
    - dev
    - prod
  tasks:
  - name: Install php and mariadb
    package:
      name:
        - php
        - mariadb-server
      state: present

Speichern und schließen Sie die Datei

Führen Sie nun das Playbook mit dem Befehl ansible-playbook aus,

$ ansible-playbook packages.yaml

Ausgabe:

Die obige Ausgabe bestätigt, dass das Playbook erfolgreich ausgeführt wurde. Um das Ergebnis zu überprüfen, führen Sie die folgenden Ad-hoc-Befehle aus,

$ ansible dev -m shell -a 'dpkg -l | grep -E "php|mariadb"'
$ ansible prod -m shell -a 'rpm -qa | grep -E "php|mariadb"'

Das ist der Abschluss des Artikels. Falls Sie diesen Artikel informativ fanden, zögern Sie bitte nicht, ihn zu teilen. Falls Sie Fragen haben, hinterlassen Sie diese bitte in den Kommentarbereichen unten.

Lesen Sie auch :Verwendung von Handlern in Ansible Playbook


Ubuntu
  1. So installieren Sie Docker unter Ubuntu 22.04 / 20.04 LTS

  2. So installieren Sie PlayOnLinux auf Ubuntu 20.04 LTS

  3. So installieren Sie MariaDB in Ubuntu 20.04 LTS

  4. So installieren und konfigurieren Sie Ansible unter Ubuntu 18.04 LTS

  5. So installieren Sie Ansible unter Ubuntu 18.04 LTS

So installieren Sie Ansible auf Ubuntu

So installieren Sie Laravel auf Ubuntu 20.04 LTS

So installieren Sie Ansible unter Ubuntu 20.04 LTS

So installieren Sie Go unter Ubuntu 22.04 LTS

So installieren Sie Go unter Ubuntu 18.04 LTS

So installieren Sie Go unter Ubuntu 20.04 LTS