Automatisierte Bereitstellung von AWX in k3s

Abgeschlossen
August 2023 - Sep. 2023
Kundenprojekt (im Angestellten Verhältnis)

In verschiedenen Kundenprojekten installierten und konfigurierten wir regelmäßig AWX-Instanzen im Team. Da uns jedoch eine stabile Testumgebung fehlte, waren Tests und Experimente zeitaufwendig und fehleranfällig. Ziel war es, die Bereitstellung von AWX vollständig zu automatisieren – sowohl im Single-Node- als auch im Multi-Node-Setup.

Die Herausforderung

Das manuelle Aufsetzen von AWX war komplex und erforderte mehrere Schritte, insbesondere in Kubernetes-Umgebungen. Zudem sollte die Lösung reproduzierbar und in bestehende CI/CD-Prozesse integrierbar sein.

  • Kein zentrales Test-Setup für AWX
  • Hoher manueller Aufwand bei jeder Installation
  • Fehlende Automatisierung und Standardisierung

Projektziele

Ziele des Projekts waren:

  • Vollständige Automatisierung der AWX-Installation
  • Unterstützung von k3s Single-Node und optional Multi-Node-Deployments
  • Integration in eine GitLab CI/CD-Pipeline
  • Aufbau einer schnellen, reproduzierbaren Testumgebung für das Team

Die Lösung

Ich entwickelte ein Ansible-Playbook und ergänzte es um CI/CD-Pipeline-Schritte in GitLab, die automatisch ein k3s-Cluster bereitstellen und darauf AWX installieren. Dadurch konnte das Team innerhalb weniger Minuten eine vollständige AWX-Umgebung starten, inklusive aller benötigten Abhängigkeiten und Konfigurationen.

Die Umsetzung

  • Cluster Setup: Automatische Bereitstellung eines k3s-Clusters über GitLab CI
  • AWX Deployment: Installation und Konfiguration von AWX über Ansible
  • Pipeline Automation: CI/CD-Pipeline für automatisierten Build und Provisioning
  • Flexibilität: Unterstützung von Single-Node und Multi-Node Umgebungen
  • Team Enablement: Dokumentation und Schulung zur Nutzung der neuen Lösung

Das Ergebnis

  • Bereitstellung einer funktionierenden AWX-Testumgebung in wenigen Minuten
  • Einheitliche und reproduzierbare Deployments
  • Deutliche Reduktion des manuellen Aufwands im Team
  • Schnellere Tests und Entwicklungszyklen

Fazit und Erkenntnisse

Das Projekt vertiefte mein Wissen über AWX-Deployments, k3s-Architekturen und CI/CD-Automatisierung.

  • Erfahrung mit automatisierten AWX-Installationen in k3s
  • Integration von CI/CD-Prozessen zur Infrastruktur-Bereitstellung
  • Aufbau effizienter Testumgebungen für System Engineers