-
28.01.2024, 14:39 #1Projektleitung
- Registriert seit
- 15.11.2011
- Beiträge
- 8.436
- Blog Entries
- 5
Thanked 9.510 Times in 3.325 Posts
Software mit Ansible automatisiert einrichten: So funktioniert es
Die Zeiten, in denen Systeme händisch installiert werden & dadurch früher oder später Testsysteme von Produktivsystemen abweichen, sind vorbei: Ansible ermöglicht es, ein System automatisch nach Wunsch einrichten - etwa Software installieren, konfigurieren und testen, ob diese wie gewünscht funktioniert. Mit sogenannten Playbooks legt man dabei den gewünschten Zielzustand des Systems (z.B. Apache2 Webserver soll installiert & gestartet sein) fest. Ansible kümmert sich darum, diesen Zustand zu erreichen: Beispielsweise ein APT Paket installieren & den Dienst starten. So kann man nicht nur Konsistenz gewährleisten, da jedes System identisch konfiguriert wird. Sondern auch spielend leicht weitere aufsetzen, z.B. zu Testzwecken. Dieser Beitrag richtet sich an Einsteiger, er stellt Ansible mit seinen Vor- und Nachteilen vor: Zum kompletten Beitrag im U-Labs Portal
-
28.01.2024, 14:39 #2Brücke zwischen U-Labs & YouTube
- Registriert seit
- 30.09.2021
- Beiträge
- 6.500
Thanked 99 Times in 96 Posts
Kommentar von @matthias2912
Kommentar von @matthias2912:
Sehr schön!
Nur versteht man nicht, wie man einen Task definieren muss, damit dieser auch funktioniert.
Die Module, die ein Task ausführen, müssen doch erst geschrieben werden.
Heißt: Was passiert genau bei
Apache aktualisieren
Sehr viele Präsentationen dazu enden genau hier für mich ist das ein wenig wie Prosa-Wünsch-Dir-Was und hoppala hat es was gemacht oder auch nicht
Mir scheint da die Kontrolle, was genau ausgeführt wird, etwas vernachlässigt zu werden
-
28.01.2024, 14:50 #3Projektleitung
- Registriert seit
- 15.11.2011
- Beiträge
- 8.436
- Blog Entries
- 5
Thanked 9.510 Times in 3.325 Posts
AW: Software mit Ansible automatisiert einrichten: So funktioniert es
Danke!
Ich vermute, du meinst "Apache installieren". Dabei verwendet man bereits ein Ansible-Modul namens APT. Letztendlich greift das per API/CLI-Aufruf auf APT zurück und führt im Hintergrund die notwendigen Befehle aus. In meinem Beispiel wären das etwa die folgenden:
Ein Modul musst du dafür nicht schreiben, da Ansible bereits eine ganze Reihe von sich aus mitbringt. Neben verbreiteten Paketmanagern sind dort auch diverse Module für verbreitete GNU/Linux-Werkzeuge enthalten. Beispielsweise "ansible.builtin.replace", um Zeichenketten in Dateien zu ersetzen - wahlweise inklusive regulärer Ausdrücke. Es bietet damit die Funktion von sed. Dies befindet sich (neben vielen anderen) im eingebauten Namensraum "Ansible.Builtin". Hier kann man sich für die gewünschte Aufgabe ein passendes Modul heraus suchen. In vielen Fällen wird das bereits ausreichen. Falls nicht, ist das Schreiben eines eigenen Moduls auch kein Hexenwerk. Letztendlich muss man lediglich per Python den Status abfragen und den Zielzustand herstellen, z.B. durch Ausführung eines Kommandozeilenwerkzeugs.Code:sudo apt-get update sudo apt-get install apache2
Das sind aber eher erweiterte Szenarien. Kern von Ansible ist, das "wie" zu abstrahieren, da es Zustandsorientiert ist: Du gibst an, dass im Playbook z.B. das APT-Paket von Apache2 installiert sein soll. Wie das im Hintergrund geschieht, ist die Aufgabe von Ansible. Ob das funktioniert hat, sollte dir die Ausgabe immer anzeigen: Entweder wurde nichts verändert, weil der gewünschte Zustand bereits erreicht wurde - das prüfen die Module. Heißt, bei dem Apache2 Beispiel guckt der erst mal, ob das Paket schon da ist. Wenn ja, wird nichts gemacht (grün). Musste er etwas verändern, um den gewünschten Zustand zu erreichen, wird die Aufgabe gelb. Und wenn dabei ein Fehler aufgetreten ist (z.B. ein Job soll ein APT-Paket installieren, wurde aber nicht mit den notwendigen Rechten ausgeführt), wird er rot. In diesem Falle kann man mit dem Verbose-Log (-v so oft wiederholen, wie detailliert es werden soll, z.B. -vvv) sehen, was die exakte Fehlermeldung war.
-
28.01.2024, 14:51 #4Brücke zwischen U-Labs & YouTube
- Registriert seit
- 30.09.2021
- Beiträge
- 6.500
Thanked 99 Times in 96 Posts
Kommentar von @keksber
Kommentar von @keksber:
Cooles Video und super Überblick in der kurzen Zeit.
Die besten 10 Minuten meines Tages bis jetzt
-
13.02.2024, 13:43 #5Brücke zwischen U-Labs & YouTube
- Registriert seit
- 30.09.2021
- Beiträge
- 6.500
Thanked 99 Times in 96 Posts
AW: Software mit Ansible automatisiert einrichten: So funktioniert es
Antwort von @matthias2912:
@ULabs Danke!
Hört sich schlüssig an… nur so ganz ohne manuelle Eingriffe bekomme ich es nicht hin.
Wird schon…
-
13.02.2024, 14:05 #6Projektleitung
- Registriert seit
- 15.11.2011
- Beiträge
- 8.436
- Blog Entries
- 5
Thanked 9.510 Times in 3.325 Posts
AW: Software mit Ansible automatisiert einrichten: So funktioniert es
Kommt drauf an, von welchen manuellen Eingriffen wir reden. Ansible deckt die Installation und Einrichtung von Software ab. Das Aufsetzen eines Systems zählt nicht dazu - unabhängig davon ob es beim RPI darum geht, z.B. das Raspberry Pi OS auf die Karte zu überspielen, SSH zu aktivieren usw. Oder um das Erstellen einer VM. Hardware lässt sich teilweise automatisieren, etwa durch das Booten vom Netzwerk. Virtualisiert kann man diesen Schritt komplett automatisch ablaufen lassen. Das kann allerdings Ansible nicht abdecken. Hierfür benötigt man weitere Software wie etwa Terraform.
Im weiteren Lebenszyklus kann Ansible auch Aktualisierungen und andere Änderungen übernehmen. Beispielsweise auf mehreren Servern PHP 8.2 durch 8.3 ersetzen, die Passwort-Authentifizierung für SSH überall deaktivieren und andere Routine-Aufgaben. Dafür muss man sich einmalig ein Playbook schreiben und testen. Macht vor allem dann Sinn, wenn man mehrere Systeme hat. Wo Ansible dagegen nicht wirklich helfen kann, ist bei der Fehlersuche. Die wird man (zumindest auf einem System) immer händisch durchführen müssen. Erst wenn das Problem gefunden und der Fix auf andere Systeme angewendet werden soll, kann Ansible diese wiederholende Tätigkeit abnehmen.
In der Endstufe erstellst du automatisierte VMs, die Ansible provisioniert & verwaltet. Das händische Eingreifen wird dabei auf ein Minimum reduziert, darum geht es letztendlich. Wenn der Großteil automatisiert & damit auch gleich dokumentiert wurde, kann das schon vieles einfacher machen.
-
08.08.2024, 22:58 #7Brücke zwischen U-Labs & YouTube
- Registriert seit
- 30.09.2021
- Beiträge
- 6.500
Thanked 99 Times in 96 Posts
Antwort von @telekollektiv
Antwort von @telekollektiv:
Top Einstieg in das Thema, vielen Dank!
Ähnliche Themen
-
OS: Internetgeschwindigkeit automatisiert messen und auswerten
Von DMW007 im Forum SkriptsprachenAntworten: 0Letzter Beitrag: 01.02.2020, 15:04 -
Anwendung automatisiert in Xfce4 an Panel anpinnen
Von DMW007 im Forum LinuxAntworten: 0Letzter Beitrag: 03.01.2020, 11:15 -
Filme von Serien automatisiert unterscheiden
Von DotNet im Forum LinuxAntworten: 6Letzter Beitrag: 21.10.2017, 02:13 -
Wordpress 4 Sprache automatisiert umstellen über wp-config.php
Von DotNet im Forum WebmasterAntworten: 2Letzter Beitrag: 17.09.2016, 14:10 -
Buffalo WHR-G300N Port-Weiterleitung einrichten funktioniert nicht
Von x BoooM x im Forum HardwareAntworten: 3Letzter Beitrag: 11.05.2014, 22:29
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.

Zitieren