Gateway API
The way we are going to expose our applications to the outside world is through the Gateway API. The Gateway API is a Kubernetes Custom Resource Definition (CRD) that allows you to configure a load balancer for your applications.
Here you can find the official documentation, which I highly recommend to read to get a grasp of the concept of the Gateway API.
Considerations
The Gateway API is a new standard for exposing applications in Kubernetes. It is a more modern approach to the Ingress resource, which is the current standard for exposing applications in Kubernetes. The Gateway API is still in alpha, but it is already being used in production by some companies.
Implementation
First we need to install the Gateway API CRDs:
kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v0.7.1/standard-install.yaml
Then we are going to leverage the integration of the Gateway API with Cilium.