A couple of months ago, the new Kubernetes Gateway API graduated to beta.
Why do you need another API to handle external traffic when you have the stable Kubernetes Ingress API and dozens of implementations? What problems of the Ingress API does the new Gateway API solve? Does this mean the end of the Ingress API?
I will try to answer these questions in this article by getting hands-on with these APIs and looking at how they evolved.
Standardizing External Access to Services: The Ingress API
The Kubernetes Ingress API was created to standardize exposing services in Kubernetes to external traffic. The Ingress API overcame the limitations of the default service types, NodePort
and LoadBalancer
, by introducing features like routing and SSL termination.
There are over 20 implementations of Ingress controllers available. In this article, I will use Apache APISIX and its Ingress controller for examples.
You can create an Ingress resource to configure…