Live
Cloudflare WAF adds default‑log rules for Brotli encoding and Next.js image endpointGPU Capacity Planning: Validate Outcomes Before Adding HardwareEmbedding Vercel’s Zig Coding Agent: Architecture and Ops ImpactGemini 4 Argon trims ADK session prep and import latency by up to 40%Rethinking CI/CD: The Sensor Limits of an Agentic Software FactoryResolving the Kubernetes Autoscaling Conflict: Independent Controllers vs. Autonomous CoordinationAI‑Generated Queries Move Data Interface to Embedded DuckDB for Disaster‑Recovery AnalyticsIntegrating NVIDIA Earth-2 StormScope EU: Architecture, Ops, and Security TakeawaysCloudflare WAF adds default‑log rules for Brotli encoding and Next.js image endpointGPU Capacity Planning: Validate Outcomes Before Adding HardwareEmbedding Vercel’s Zig Coding Agent: Architecture and Ops ImpactGemini 4 Argon trims ADK session prep and import latency by up to 40%Rethinking CI/CD: The Sensor Limits of an Agentic Software FactoryResolving the Kubernetes Autoscaling Conflict: Independent Controllers vs. Autonomous CoordinationAI‑Generated Queries Move Data Interface to Embedded DuckDB for Disaster‑Recovery AnalyticsIntegrating NVIDIA Earth-2 StormScope EU: Architecture, Ops, and Security Takeaways
Kubernetes

Migrating from ingress-nginx to Envoy Gateway

AI SummaryPowered by AI

The CNCF Kubernetes Project has announced the retirement of ingress-nginx, prompting a strategic shift toward Envoy Gateway for managing internal services. This migration leverages the Gateway API to optimize resource efficiency and operational simplicity for clusters running codimd, GUAC, and kcp.

The CNCF maintains a dedicated Kubernetes cluster to host critical internal services, including codimd, GUAC, and kcp. With the official announcement regarding the retirement of ingress-nginx, the engineering team initiated a comprehensive evaluation of alternative ingress solutions. After extensive technical discussions, the decision was made to adopt Envoy Gateway, utilizing the Gateway API for dynamic provisioning. This transition represents a significant architectural evolution, moving away from the monolithic ingress controller model toward a more granular, multi-layered design that offers superior control over traffic management.

Architectural Shift: From Single Layer to Multi-Layer Design

Understanding the architectural divergence between the legacy ingress-nginx and the new Envoy Gateway implementation is crucial for any engineer planning this migration. The ingress-nginx architecture relies on a single LoadBalancer service where the controller ingests all traffic and distributes it based on Ingress object configurations. In contrast, the Gateway API is designed with multiple layers, allowing for the creation of a Gateway object per HTTPRoute or TLSRoute. While this flexibility is powerful, it introduces a cost consideration: each Gateway object typically provisions a distinct LoadBalancer service. Consequently, creating multiple Gateways can lead to multiple load balancers, significantly increasing cloud costs. To mitigate this, the team configured a shared Gateway object that serves multiple HTTPRoutes, effectively replicating the cost-efficiency of the previous ingress-nginx deployment while retaining the benefits of the new architecture.

Operational Simplicity and Resource Efficiency

One of the primary drivers for adopting Envoy Gateway is the consolidation of operational overhead. By managing a single Gateway object, the cluster reduces the number of external load balancers required, which translates directly to lower cloud infrastructure expenses. This approach aligns with the principles often tested in Kubernetes certifications, where resource optimization is a key competency. The configuration allows for a unified management plane, simplifying the lifecycle of the ingress layer. Engineers can now focus on defining routing logic through HTTPRoutes without worrying about the underlying LoadBalancer proliferation. This consolidation ensures that the internal services cluster remains cost-effective and operationally lean, even as the complexity of the routing rules grows.

Technical Considerations for the Migration

Executing this migration requires a deep understanding of the Gateway API resources. The transition involves redefining how traffic is routed and secured within the cluster. Engineers must ensure that the new configuration supports the specific requirements of codimd, GUAC, and kcp without introducing latency or connectivity issues. The shared Gateway pattern is particularly important here, as it prevents the fragmentation of the ingress layer. When planning the cutover, teams should verify that their monitoring stack can handle the new metrics exposed by Envoy Proxy. Additionally, the migration path should account for any custom annotations or configurations that were specific to ingress-nginx, ensuring they are either deprecated or mapped to their Gateway API equivalents.

What This Means For You

This migration underscores the importance of staying current with CNCF project lifecycles. As ingress-nginx retires, professionals must be prepared to adapt their infrastructure to new standards like Envoy Gateway. For those preparing for cloud engineering roles, understanding the nuances between different ingress controllers and the Gateway API is essential. The shift to Envoy Gateway is not just a tool change; it is a strategic move toward a more scalable and cost-efficient ingress architecture. By adopting this solution, organizations can future-proof their Kubernetes clusters against the retirement of legacy components while leveraging the latest capabilities of the Envoy Proxy ecosystem.

Originally published atCNCF