When Kubernetes was launched in June 2014, only NodePort and LoadBalancer-type Service objects were available to expose services within the cluster to the outside world. Later, the Kubernetes Ingress API was introduced to offer more control over incoming traffic. Ingress’ primary objective is to expose HTTP applications using a straightforward declarative syntax.
This older Kubernetes Ingress API has been superseded by the newer Gateway API, which provides a more comprehensive, unified, and standardized API for managing traffic into and out of a Kubernetes cluster. Gateway API represents a superset of Ingress functionality, enabling more advanced use cases, expanded protocol support and routing options, and a more flexible configuration that can be extended to address specific use cases.
While there is no default implementation of the Gateway API out of the box in Kubernetes, there is a wide range of commercial and open-source implementations available, including the Istio service mesh and Envoy Gateway.