Migrating from Ingress to Gateway API - GKE + Logfire examples
Blog post from Pydantic
Migrating from Ingress to the Gateway API involves transitioning from annotation-heavy configurations to a more structured, role-oriented approach using typed resources, enhancing portability and reviewability across environments. The process recommended includes running the Gateway API alongside the existing Ingress to validate behaviors with a new IP, switching DNS, and maintaining the old Ingress temporarily for rollback purposes. Gateway API offers a specification that splits the Ingress object into GatewayClass, Gateway, and HTTPRoute, allowing centralized configuration while enabling individual teams to manage their routes safely. The transition requires careful feature parity checks for specific functionalities such as rewrites, redirects, and rate limiting, which may vary by controller. For Google Kubernetes Engine (GKE) users, the gke-l7-global-external-managed controller is suggested for a managed experience, yet attention to current usage is crucial to ensure all required features are supported. The migration strategy emphasizes parallel operation, starting with low-risk services, and detailed testing before DNS cutover, ultimately allowing for a seamless transition to the Gateway API while maintaining the option to revert if necessary.