Servicemanagement in Netzen - Leischner

Praktikumsblatt 3 - Ansible

 

Aufgabe 1 - Installation+Konfiguration+Testen von Ansible

  1. Installieren Sie auf Ihrem Linux-Desktop-System das Provisioning-Tool Ansible in der Version 2.9.6 oder höher. Überprüfen Sie Ihre Installation mit dem Kommando ansible --version .
  2. Pingen Sie mit einem möglichst einfachen Ansible-Kommando Ihren lokalen Rechner an. Notieren Sie das von Ihnen verwendete Ansible-Kommando. Welches Ansible-Modul verwenden Sie hierzu? Was genau passiert bei der Ausführung dieses Kommandos? Was prüft dieses Kommando? Funktioniert dieses Kommando auch für Ihren Remote-Server serv-ws21, indem Sie localhost durch die IPv6-Adresse von serv-ws21 ersetzen? Interpretieren Sie die Fehlermeldung.
  3. Legen Sie in Ihrem GIT-Projekt servmgmt-ws21 ein Unterverzeichnis ansible an, das Ihren gesamten Ansible-Code enthält. Erstellen Sie dort in YAML eine Inventory-Datei hosts.yml, die den lokalen Rechner (Linux-Desktop-System) und Ihren Remote-Server serv-ws21 enthält. Gehen Sie in das Verzeichnis ansible und lassen Sie dann ein Ansible-Ping gegen Ihren Server serv-ws21  laufen. Wie lautet Ihr Kommando?
  4. Falls noch nicht geschehen, konfigurieren Sie die Arbeitsumgebung Ihres GIT-Projekts für ein bequemes Arbeiten mit Ansible. Welche Punkte sind hierzu zu beachten bzw. nützlich?
    Hinweise: Alias setzen, Verzeichnisstruktur, ansible.cfg, SSH-Keys, ...
  5. Stellen Sie mit einem geeigneten Ansible-Kommando fest, als welcher User Sie unter Ansible auf Ihrem Remote-Server serv-ws21  arbeiten. Wie lautet Ihr Kommando?
  6. Wandeln Sie das Kommando so ab, dass Sie mit Ansible als root auf dem Ihrem Server serv-ws21 arbeiten. Wie lautet Ihr Kommando? Erläutern Sie Ihr Kommando.

 

Aufgabe 2 - Ansible-Role: Connection-Check

Entwickeln Sie eine Rolle conn-check, die die Verbindung zu einem Host testet. Es soll festgestellt werden, ob der Hosts unter dem verwendeten Benutzernamen erreichbar ist und ob die Sudo-Eskalation funktioniert. Testen Sie diese Rolle für Ihren Server serv-ws21 in einem Playbook pb-remoteserver-1.yml.

Wie sieht Ihr Playbook aus und mit welchem Kommando rufen Sie Ihr Playbook auf?

 

Aufgabe 3 - Ansible-Role: Basics

Entwickeln Sie eine Rolle basics, die eine grundlegende Konfiguration Ihres Servers übernimmt. Beispiele von grundlegenden Konfigurationen sind:

  1. Härten von SSH, so dass kein Einloggen mit Passwort mehr möglich ist.
  2. Die Farben des Bash-Prompts anpassen: Rot = root, Grün = user.
  3. Installieren von zusätzliche Basis-Pakete, wie z.B. die Pakete qemu-guest-agent, bridge-utils oder curl.
  4. Anpassen des verwendeten Editors, z.B. vim, an Ihre persönlichen Bedürfnisse.

Testen Sie diese Rolle für Ihren Server serv-ws21 im Playbook pb-remoteserver-2.yml.

 

Aufgabe 4 - Ansible-Role: Docker-CE

Entwickeln Sie eine Ansible-Rolle docker-ce, die Docker-CE und Docker-Compose installiert und den installierenden Benutzer in die Gruppe docker aufnimmt.

Testen Sie diese Rolle mit Ihrem Server serv-ws21 im Playbook pb-remoteserver-3.yml.

Welche Version von Docker-CE und von Docker-Compose haben Sie installiert? Sind dies die aktuellen Versionen?

 

Aufgabe 5 - Fragen zu Ansible

  1. Diskutieren Sie die Verwendung von Sudo-Passworten bezüglich Notwendigkeit, Praktikabilität und Sicherheit beim Provisioning mit Ansible.
  2. Überlegen Sie sich ein gutes Konzept, wie das Sudo-Passwort verschlüsselt in Ansible zur Verfügung gestellt werden kann. Erläutern Sie Ihr Konzept.

 

 

 

 

 

Impressum | Datenschutz | leischner.inf.h-brs.de, last modification: 12.09.2022-10.46