Painting the Big Picture

Flow of requests

Before we dive into the actual usage of Knative, let’s see which components we have and how they interact with each other. We’ll approach the subject by trying to figure out the flow of a request. It starts with a user.

When we send a request, it goes to the external load balancer, which in our case forwards it to IstioGateway, accessible through a Kubernetes Service created when we installed Istio. That’s the same service that created the external load balancer if we’re using GKE, EKS, or AKS. In the case of Minikube and Docker Desktop, there’s no external load balancer, so we should use our imaginations.

Note: It could also be internal traffic but, for simplicity, we’ll focus on users. The differences are trivial.

From the external LB, requests are forwarded to the cluster and picked up by the Istio Gateway. Its job is to forward requests to the destination Service associated with our application. However, we don’t yet have the app, so let’s deploy something.

Get hands-on with 1200+ tech skills courses.