Im Herbst 2021 hat Red Hat die Version 2.10 der Ansible Automation Platform vorgestellt. Das Release führt einige grundlegende Änderungen in der Architektur ein und liefert dazu passend eine ganze Reihe neuer Tools. Die Neuerungen betreffen zum einen die Performance der Automation-Platform in großen Umgebungen. Zudem sollen sie es den Entwicklern von Ansible-Code erleichtern, ihre Playbooks auf verschiedenen Systemen laufen zu lassen.
In diesem Workshop stellen wir die Änderungen sowie die neuen Tools vor und gehen auf die nötigen Modifikationen in bestehenden Playbooks ein.
Das Tool Ansible ist in Python geschrieben. Die eigentliche Automatisierung übernehmen Module, die wie die Instruktionen in einer Programmiersprache funktionieren. Es gibt Basis-Module wie "copy", "uri" oder "user", die mit jedem Ansible-Basis-Setup funktionieren. Darüber hinaus existieren hunderte von Modulen, die sich um bestimmte Funktionen kümmern, wie beispielsweise "cisco.ios", "vmware", "ec2" oder "gcp". Eine Vielzahl dieser erweiterten Module benötigen spezielle Python-Libraries, damit sie funktionieren. Durch die stets wachsende Zahl der Module werden die damit erforderlichen Python-Dependencies immer komplexer.
Das abgelöste kommerzielle Tool "Ansible Tower" brachte beispielsweise eine speziell konfigurierte Python-Umgebung (python bubble wrap) mit, die alle offiziell unterstützten Bibliotheken in den passenden Versionen enthielt. Dieses Vorgehen war jedoch wenig flexibel, da diese Umgebung nur alle sechs Monate erneuert wurde, und sorgte außerdem für Inkompatibilitäten. Wer Ansible auf der Kommandozeile verwendet, nutzt die Python-Libraries des lokalen Betriebssystems – je nach Paketmanager und Aktualisierung sogar in verschiedenen Versionen. So kann es dazu kommen, dass ein auf
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.