Installation verifizieren
In diesem Schritt wird die Installation der UDSP verifiziert.
Kubernetes-Ressourcen
kubectl --kubeconfig "$KUBECONFIG" --context "$CONTEXT" get nodes
kubectl --kubeconfig "$KUBECONFIG" --context "$CONTEXT" get pods -A
kubectl --kubeconfig "$KUBECONFIG" --context "$CONTEXT" get pvc -A
kubectl --kubeconfig "$KUBECONFIG" --context "$CONTEXT" get gatewayclass
kubectl --kubeconfig "$KUBECONFIG" --context "$CONTEXT" get gateway,listenerset,httproute -A
kubectl --kubeconfig "$KUBECONFIG" --context "$CONTEXT" get service default-nginx -n nginx-gateway
kubectl --kubeconfig "$KUBECONFIG" --context "$CONTEXT" get certificate -A
helm --kubeconfig "$KUBECONFIG" list -A
Erwartet werden:
- alle Nodes im Zustand
Ready - keine dauerhaft fehlerhaften oder ungeplant ausstehenden Pods
- alle benötigten PVCs im Zustand
Bound - ein akzeptiertes Gateway sowie HTTPRoutes für aktivierte öffentliche Komponenten
- ein erreichbarer externer Endpunkt des Services
default-nginxim Namespacenginx-gateway - TLS-Zertifikate im Zustand
Ready - Helm-Releases ohne Status
failedoderpending-*
Plattformzugänge
Prüfen Sie mindestens:
- Aufruf von
https://idm.<domain>und Anmeldung mit dem Plattform-Admin. - Vorhandensein des konfigurierten Mandanten-Realm in Keycloak.
- Erreichbarkeit der aktivierten Anwendungsendpunkte.
- HTTPS-Zertifikatskette und Hostnamen.
- API-Zugriff über APISIX für einen aktivierten Datenpfad.
- Schreiben und Lesen eines Testdatensatzes in einem vorgesehenen nichtproduktiven Datenraum.
Der letzte Punkt ist ein Integrationsnachweis und sollte mit eigens dafür vorgesehenen Testdaten durchgeführt werden.
Selektive Wiederholung nach der Erstinstallation
Selektive Tags sind für gezielte Änderungen gedacht, nicht als Ersatz für die vollständige Erstinstallation. Inventory-Schalter, Ansible-Tags und direkte Voraussetzungen stehen bei der jeweiligen Komponente unter Mandanten konfigurieren.
Clusterweite Dienste:
ansible-playbook -i "$INVENTORY" -l localhost \
02_core_platform/full_install.yml \
--tags non_tenant
Ein bestimmter Operator:
ansible-playbook -i "$INVENTORY" -l localhost \
02_core_platform/full_install.yml \
--tags operator_postgres
Eine Komponente für alle Mandanten:
ansible-playbook -i "$INVENTORY" -l localhost \
02_core_platform/full_install.yml \
--tags tenant,dm_grafana
Eine Komponente für einen Mandanten:
ansible-playbook -i "$INVENTORY" -l localhost \
02_core_platform/full_install.yml \
--tags tenant,tenant_stadt,dm_grafana
stadt muss dabei exakt tenant_prefix entsprechen.
Mehrere zusammenhängende Komponenten können gemeinsam ausgewählt werden:
ansible-playbook -i "$INVENTORY" -l localhost \
02_core_platform/full_install.yml \
--tags tenant,tenant_stadt,context_mgmt,api_mgmt,dm_grafana
Führen Sie APISIX nach einer neu hinzugefügten Zielkomponente erneut aus, wenn dafür API-Routen angelegt werden sollen. Die Inventory-Werte der Komponenten werden auf der Seite Mandanten konfigurieren erklärt.
Häufige Fehlerbilder
| Fehler | Wahrscheinliche Ursache | Erste Prüfung |
|---|---|---|
| StorageClass nicht gefunden | Name im Inventory stimmt nicht mit Cluster überein | kubectl get storageclass |
PVC bleibt Pending | Provisioner, Kapazität oder Access Mode fehlt | kubectl describe pvc -n <namespace> <pvc> |
ImagePullBackOff | Registry nicht erreichbar oder Token fehlt | Pod Events und Image-Pull-Secret prüfen |
| Zertifikat bleibt ausstehend | DNS, Gateway-LoadBalancer oder ACME-Challenge fehlerhaft | kubectl describe certificate und challenge |
| HTTPRoute nicht angenommen | ListenerSet, Hostname, Service oder TLS-Secret passt nicht | kubectl describe httproute -n <namespace> <name> und ListenerSet prüfen |
| Komponente kann Keycloak nicht konfigurieren | idm.<domain> nicht erreichbar, Realm oder Secret fehlt | Keycloak-Pods, HTTPRoute und Admin-Secret prüfen |
| Ansible findet Kubeconfig nicht | kubeconfig_file liegt nicht unter $HOME/.kube/ | berechneten Pfad und Dateirechte prüfen |
| API-Routen fehlen | APISIX lief vor dem abhängigen Dienst oder selektiver Tag war unvollständig | APISIX-Task nach Zielkomponente erneut ausführen |
Speichern Sie Ansible-Ausgabe und Abnahmeergebnisse zusammen mit den Deployment-Metadaten. Zugangsdaten müssen vor der Ablage aus Logs entfernt werden.
Ergebnis
Nach erfolgreicher Verifikation ist die Plattform technisch bereitgestellt und abgenommen. Die aktivierten Workloads laufen stabil, Persistenz und TLS sind funktionsfähig, die vorgesehenen Zugänge sind erreichbar und mindestens ein technischer Testdatenpfad wurde erfolgreich geprüft.
Für einen späteren Releasewechsel verwenden Sie den kontrollierten Ablauf unter Plattform aktualisieren. Die fachliche Einrichtung und Nutzung der bereitgestellten Datenräume und Anwendungen gehört anschließend in den Praxisleitfaden.