Schritt 1: Ingress-Bestand und Annotationen erfassen
Die Aufwandsschätzung steckt nicht in der Anzahl der Ingress-Objekte, sondern in den Annotationen daran. Hol dir beides in einem Durchgang aus dem Cluster, bevor du über Implementierungen nachdenkst.
kubectl get ingress -A -o json > ingress-bestand.json
# Wie viele Objekte sind es ueberhaupt?
jq -r '.items[] | "\(.metadata.namespace)/\(.metadata.name)"' ingress-bestand.json | wc -l
# Welche nginx-Annotationen kommen wie oft vor?
jq -r '.items[].metadata.annotations // {} | keys[]' ingress-bestand.json \
| grep '^nginx.ingress.kubernetes.io/' | sort | uniq -c | sort -rn
# Die teuren Faelle zuerst: frei eingefuegte Konfigurationsschnipsel
jq -r '.items[]
| select(.metadata.annotations["nginx.ingress.kubernetes.io/configuration-snippet"]
or .metadata.annotations["nginx.ingress.kubernetes.io/server-snippet"])
| "\(.metadata.namespace)/\(.metadata.name)"' ingress-bestand.jsonDie Datei ingress-bestand.json ist gleichzeitig dein Rollback-Material und die Eingabe für den Konverter. Leg sie in die Versionsverwaltung, bevor du irgendetwas änderst.
Was aus welcher Annotation wird
| Annotation in ingress-nginx | Entsprechung in der Gateway API | Aufwand |
|---|---|---|
| rewrite-target | Filter URLRewrite mit ReplacePrefixMatch | gering, aber die Pfadlogik musst du neu denken |
| canary und canary-weight | Mehrere backendRefs mit weight in einer Regel | gering, das Ergebnis ist sauberer als vorher |
| ssl-redirect, force-ssl-redirect | Eigene HTTPRoute am HTTP-Listener mit RequestRedirect | gering, dafür wird die Umleitung sichtbar |
| proxy-body-size, proxy-read-timeout | Implementierungsspezifisch, etwa ClientTrafficPolicy und BackendTrafficPolicy | mittel, bindet dich an die gewählte Implementierung |
| auth-url, auth-signin | ExtensionRef-Filter der Implementierung, etwa SecurityPolicy | mittel bis hoch, je nach Authentifizierungsverfahren |
| configuration-snippet, server-snippet | Kein Gegenstück im Standard, muss fachlich neu gebaut werden | hoch, hier steckt die eigentliche Projektarbeit |