- Request Initiation:
- A user sends a request to an application hosted on Knative.
- This request first hits the
Istio Ingress Gateway, which is the entry point for external traffic into the Kubernetes cluster.
- VirtualService Routing:
- The
Istio Ingress Gatewayuses IstioVirtualServiceto determine where to route the request. Knative sets up these VirtualServices when a service is created or updated. - Typically, the
VirtualServicewill point to theKnative Activatorwhen the application is scaled to zero or during scaling up from zero.
- The
- Activator:
- The
Activatoris responsible for starting up instances of the application (Pods) when there are none running. It plays a crucial role in scale-to-zero functionality. - If an application is scaled to zero (no active pods), the
Activatorreceives the incoming request, triggers the Kubernetes deployment to start a new pod, and then buffers incoming requests until the pod is ready to handle them. - Once the pod is running and ready, the
Activatorforwards the buffered requests to the pod.
- The
- Autoscaler:
- The
Autoscalercomponent in Knative observes traffic load and scales the application pods up or down based on the configuration (like concurrency-based metrics) and actual traffic. - It receives metrics about ongoing traffic and makes decisions on when to scale. The
Activatoralso plays a part in this by sending metrics to theAutoscalerwhen it’s buffering requests for scaled-to-zero applications.
- The
- Knative Service and Revisions:
- In Knative, when you create a
Service(not to be confused with Kubernetes Service), it represents a specific configuration of your application. - Each time you modify the
Service, Knative creates a newRevision. EachRevisionis a snapshot of the code and configurations for a particular version of the service. - The actual running code is encapsulated in a Kubernetes deployment associated with that
Revision.
- In Knative, when you create a
- Knative Route:
- The
Routeis responsible for determining whichRevisionof aServicereceives traffic. You can set up theRouteto split traffic between multipleRevisionsfor blue-green deployments, canary releases, etc. - Combined with
VirtualService, it ensures the right revisions of your application are being routed traffic.
- The
- Request Completion:
- After the application processes the request, the response travels back through the same path: from the pod to (possibly) the
Activator, and then out through theIstio Ingress Gatewayto the user.
- After the application processes the request, the response travels back through the same path: from the pod to (possibly) the
I’m Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms.
I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.
Find Trusted Cardiac Hospitals
Compare heart hospitals by city and services — all in one place.
Explore Hospitals