I'm currently using the NGINX Ingress Controller and I'm curious if it's the best choice for our setup. I'm considering other options and want to know what alternatives are out there. I've worked with Istio and NGINX for service routing but haven't explored the Gateway API or other Kubernetes Ingress controllers yet. What challenges might I face if I decide to migrate away from NGINX? Any insights would be appreciated!
6 Answers
Don’t overlook HAProxy ingress; it's quite good and worth considering as an alternative to NGINX.
If you're considering the Gateway API, keep in mind that the NGINX Gateway Fabric currently has some limitations, particularly with TCPRoutes and UDPRoutes. I opted for Envoy because of its robust documentation and the ability to support various route types. If you're using commercial versions like Calico, they have their own Gateway API implementation you might want to explore.
I’ve switched to the Gateway API and found it to be straightforward and user-friendly. Initially, I worked with Cilium's implementation but moved to Envoy Gateway for extra features. My experience with NGINX has shown it to be complicated in comparison, especially for setups like yours.
If you're on AWS, using the AWS Load Balancer Controller could significantly reduce overhead by offloading SSL termination and other load balancing tasks. It offers great routing methods, like 'least outstanding request,' which can be a game-changer for managing different types of requests efficiently.
There's been some talk about the NGINX Ingress Controller being officially discontinued, so you might want to consider that when making your decision. There's a shift towards the new Ingress Gateway solutions, which could be worth exploring. Check out the discussions on GitHub for the latest updates.
Before switching, think about what you're trying to improve with your current setup. NGINX is solid, but depending on your customization needs, it might not be ideal. Alternatives like Kong can offer more features, but the complexity can be a hurdle since they rely heavily on plugins for functionalities you might want.
I recently set up a cluster for a client using Kong, and I found its features impressive right from the start. NGINX and Istio have some limitations, especially around rate limiting, so the combo of Istio with a Kubernetes Ingress Gateway could be a strong alternative.