English English French French Spanish Spanish German German
Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Wie installiere und konfiguriere ich Ansible unter Ubuntu?

ansible
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Erste Schritte mit Ansible unter Ubuntu für eine bessere Bereitstellung der Umgebung und ein besseres Konfigurationsmanagement.

Konfigurationsmanagement ist eine entscheidende Phase in DevOps Lebenszyklus. Es hilft bei der Automatisierung und Orchestrierung der IT-Infrastruktur.

Es gibt mehrere Tools für das Konfigurationsmanagement, z. B. Puppet, Ansible, Chef und SaltStack. Und natürlich, Ansible ist eines der beliebtesten Tools in DevOps. Es kann mühelos Tausende von Servern und Ihre gesamte IT-Infrastruktur verwalten.

Installieren und konfigurieren Sie Ansible unter Ubuntu

Wir werden in diesem Artikel Folgendes behandeln.

  • Ansible Installation
  • SSH-Schlüsselaustausch
  • Ansible Client-Setup
  • Ansible Tests

Ansible Installation

YouTube-Video

Versuchen wir zur Vereinfachung, Ansible auf zwei Servern zu verwenden. Einer ist ein Ansible-Server und ein anderer ein Ansible-Client mit der folgenden IP.

  • Ansible-Server - 10.0.0.1
  • Ansible-Client - 10.0.0.25

Die Installation ist unkompliziert. Die folgenden Schritte müssen auf allen Servern ausgeführt werden, auf denen Sie Ansible verwenden möchten. In diesem Fall auf beiden Servern.

  • Führen Sie den folgenden Befehl aus, um die für die Installation von ansible erforderliche Software zu installieren.
root@ansible-server:~# apt install software-properties-common
  • Installieren Sie das Repository mit ansible Paket.
root@ansible-server:~# apt-add-repository --yes --update ppa:ansible/ansible
  • Aktualisieren Sie das erweiterte Verpackungstool (apt)
root@ansible-server:~# apt update
  • Führen Sie abschließend den folgenden Befehl aus, um die Installation durchzuführen
root@ansible-server:~# apt install ansible

Die Installation des erforderlichen Pakets dauert einige Sekunden.

Wie stellen Sie sicher, dass es installiert ist und seine Version?

Nun, es ist einfach. Sie können verwenden --version Syntax mit ansible wie unten herauszufinden.

root@ansible-server:~# ansible --version
ansible 2.8.1
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.15+ (default, Nov 27 2018, 23:36:35) [GCC 7.3.0]
root@ansible-server:~#

Wie Sie sehen können, ist Ansible 2.8.1 installiert und enthält die erforderlichen Informationen wie den Speicherort der Konfigurationsdatei und das Python-Modul.

Als nächstes müssen wir den SSH-Schlüsselaustausch durchführen, damit der Dienst ausgeführt werden kann und ein Client miteinander sprechen kann.

SSH Key Exchange

Ansible stellt über SSH (Secure Shell) eine Verbindung zu seinem Client her.

Wir werden zuerst einen öffentlichen Schlüssel auf dem Ansible-Server generieren, der auf den Ansible-Client kopiert werden muss.

Stellen Sie sicher, dass Sie als Root-Benutzer angemeldet sind.

  • Generieren Sie den Schlüssel mit ssh-keygen Befehl wie unten gezeigt
root@ansible-server:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:cDapZBESo+8XcbXupbtILkFrklUSpwa70Y1c7yH5K1A root@ansible-server
The key's randomart image is:
+---[RSA 2048]----+
|    =.+oo .      |
|   . B.B.= .     |
|  . o @oE +      |
|   . *oO * .     |
|    o++.S + .    |
|   .o +o . +     |
|    .o..o +      |
|     ..o o .     |
|       .o o.     |
+----[SHA256]-----+
root@ansible-server:~#

Wie Sie bemerkt hätten, hat es einen öffentlichen Schlüssel in der generiert .ssh Ordner. Der vollständige Pfad lautet /root/.ssh/id_rsa.pub

Hinweis: Stellen Sie sicher, dass die privaten und öffentlichen Schlüsseldateien nicht weltweit lesbar sind. Sie können die Dateien auflisten, um sie zu überprüfen.

  • Wechseln Sie in den Ordner .ssh
cd /root/.ssh
  • Listen Sie die Dateien auf
root@ubuntu:~# ls -l 
-rw------- 1 root root 1679 Jun 19 00:37 id_rsa 
-rw------- 1 root root 404 Jun 19 00:37 id_rsa.pub

Wenn Sie feststellen, dass die Berechtigung falsch ist, können Sie sie mithilfe von ändern chmod Befehl

Ex:

chmod 400 id_rsa
chmod 400 id_rsa.pub

Kopieren wir den öffentlichen Schlüssel auf den Ansible-Host mit der IP-Adresse 192.168.56.101

root@ansible-server:~/.ssh# ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.25
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '10.0.0.25 (10.0.0.25)' can't be established.
ECDSA key fingerprint is SHA256:eXduPrfV0mhxUcpsZWg+0oXDim7bHb90caA/Rt79cIs.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@10.0.0.25's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@10.0.0.25'"
and check to make sure that only the key(s) you wanted were added.

root@ansible-server:~/.ssh#

Sie können in der Ausgabe oben sehen, dass 1 Schlüssel erfolgreich hinzugefügt wurde. Dies zeigt an, dass der SSH-Schlüssel ausgetauscht wird.

Als nächstes richten wir einen Ansible-Client ein.

Ansible Client Setup

Ich gehe davon aus, dass Sie die Ansible-Installationsschritte auf dem Client-Server bereits ausgeführt haben, wie in den vorherigen Schritten erläutert.

Das Client- oder Host-Setup ist nichts anderes, als den Ansible-Server auf die Clients aufmerksam zu machen. Und dazu:

  • Melden Sie sich beim Ansible-Server an
  • Gehen Sie zu / etc / ansible
  • Fügen Sie Folgendes hinzu Host-Datei indem Sie Ihren bevorzugten Editor verwenden
[Client] 
node1 ansible_ssh_host=10.0.0.25
  • Speichern Sie die Hosts-Datei

Ansible Test

Wenn Sie alle Schritte korrekt ausgeführt haben, erhalten Sie eine ERFOLG Meldung, wenn Sie den folgenden Befehl auf dem Ansible-Server ausführen.

root@ansible-server:~/.ssh# ansible -m ping Client
node1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    }, 
    "changed": false, 
    "ping": "pong"
}
root@ansible-server:~/.ssh#

Die obigen Pings an den Client, um die Konnektivität zu testen und zu bestätigen, ob sie gut ist oder nicht.

Conclusion

Ich hoffe, dies gibt Ihnen eine Idee, wie Sie mit der Installation und dem Herumspielen beginnen können. Weitere Ansible-Tutorials finden Sie hier Udemy Mastering Ansible Kurs.

Danke an unsere Sponsoren
Weitere großartige Lektüre zu DevOps
Macht Ihr Geschäft
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder