Zum Hauptinhalt springen

Plattform ausrollen

Die Erstinstallation wird vollständig über 02_core_platform/full_install.yml ausgeführt. Das Playbook ist für wiederholbare Ausführung ausgelegt und installiert die Plattform in einer technisch notwendigen Reihenfolge.

Ausgangspunkt​

Diese Seite beginnt nicht erneut mit dem Aufbau der Deployment-Umgebung. Vor dem Rollout müssen bereits abgeschlossen sein:

Arbeiten Sie ab hier im bereits geklonten core-platform-Repository und aktivieren Sie dessen Python-Umgebung:

cd <pfad-zum-core-platform-repository>
source .venv/bin/activate

INVENTORY="inventories/customer-prod.yml"

1. Preflight ausführen​

Die strukturelle Inventory-Prüfung wurde bereits während der Konfiguration durchgeführt. Unmittelbar vor dem Rollout wird sie als Freigabegate mit den unverändert bereitgestellten Artefakten wiederholt:

ansible-inventory -i "$INVENTORY" --graph

ansible-playbook -i "$INVENTORY" -l localhost \
02_core_platform/full_install.yml --syntax-check

ansible-playbook \
-i "$INVENTORY" \
-l localhost \
02_core_platform/full_install.yml \
--tags validation

Die letzte Prüfung verbindet sich mit dem Cluster und kontrolliert die konfigurierten RWO-StorageClasses.

2. Vollständige Erstinstallation ausführen​

ansible-playbook \
-i "$INVENTORY" \
-l localhost \
02_core_platform/full_install.yml

Führen Sie die erste Installation ohne --skip-tags aus. Ein übersprungener Basisdienst kann erst bei einer späteren Komponente als schwer verständlicher Folgefehler sichtbar werden.

Tatsächliche Ausführungsreihenfolge​

Reihenfolge des vollständigen Playbooks

Jede Phase schafft die Grundlage für die nächste

01

Validierung

Kubeconfig, Context und konfigurierte StorageClasses werden geprüft.

stoppt vor einem Rollout in die falsche Zielumgebung
02

Sicherheit & Operatoren

Kyverno, cert-manager sowie Datenbank- und Plattformoperatoren entstehen.

stellt CRDs, Policies, Datenbank- und TLS-Funktionen bereit
03

Gemeinsame Dienste

Keycloak, Observability, Velero und weitere globale Dienste folgen.

erzeugt Identität, Telemetrie und betriebliche Grundlagen
04

Mandanten

Die aktivierten Datenpfade und Anwendungen werden je Mandant installiert.

verwendet zuvor erzeugte Operatoren, Secrets und Identitäten
05

Integration

Übergreifende Portale und Datenbankexporter werden abschließend verbunden.

greift auf die vollständig installierten Mandantendienste zu

3. Installation beobachten​

In einem zweiten Terminal:

KUBECONFIG="$HOME/.kube/customer-prod.conf"
CONTEXT="customer-prod"

kubectl --kubeconfig "$KUBECONFIG" --context "$CONTEXT" \
get pods -A --watch

Achten Sie besonders auf:

  • Pending bei Pods mit PersistentVolumeClaims
  • ImagePullBackOff oder ErrImagePull
  • CrashLoopBackOff
  • nicht bereite PostgreSQL-Cluster
  • fehlgeschlagene ACME-Challenges und Zertifikate
  • nicht erreichbare Keycloak-Endpunkte während der Komponentenkonfiguration

Brechen Sie einen erkennbar fehlerhaften Rollout kontrolliert ab und beheben Sie die Ursache. Wiederholtes Starten ohne Ursachenanalyse kann teilweise erzeugte externe Konfigurationen schwerer nachvollziehbar machen.

Sofern die Installation der Plattform fehlerfrei abläuft, fahren Sie mit Schritt 5: Installation verifizieren fort.