Knative overview
Knative is an open-source, Kubernetes-based platform for building and running serverless workloads. It helps you deploy and manage serverless workloads and build enterprise-class platforms for serverless workloads.
ACK Serverless integrates Knative directly. To use cloud resources through the Knative API, create an ACK Serverless cluster and enable Knative for it. The Knative controller runs at no additional charge.
Components
Knative comprises two core components:
-
Knative Serving: The Knative Serving controller is integrated with ACK Serverless and requests pod resources from the cluster automatically.
-
Knative Gateway: Handles ingress traffic for services running in the cluster. ACK Serverless uses Application Load Balancer (ALB) instances as Knative ingress gateways, eliminating the need for resident gateway infrastructure.
ACK Serverless Knative vs. open-source Knative
| Open-source Knative | ACK Serverless Knative | |
|---|---|---|
| Gateway infrastructure | Requires resident gateway instances (e.g., Istio); you pay for the infrastructure and O&M | Uses ALB as the ingress gateway; no resident gateway instances required |
| Knative controller cost | You pay for the infrastructure running the Knative controller | No charge for the Knative controller |
| Scaling behavior | Scales to zero during off-peak hours; cold starts may cause session timeouts under burst traffic | Keeps one reserved instance; uses burstable instances during off-peak hours to control costs |
Knative Gateway
Open-source Knative supports multiple ingress gateway solutions: Istio, Gloo, Contour, Kourier, and Ambassador. Istio is the most commonly used because it also functions as a service mesh, but it requires at least two resident gateway instances per cluster—providing backup for each other to ensure high availability—plus the ongoing infrastructure and O&M costs for those resident resources.
ACK Serverless uses ALB instances as Knative ingress gateways. Knative Gateway provides the same gateway capabilities as cloud services, stable and reliable, without requiring resident gateway instances, which reduces infrastructure costs and O&M overhead.
Reserved instances
Open-source Knative scales to zero instances during off-peak hours to minimize costs. The tradeoff is cold start latency: when traffic resumes, the cluster must allocate resources, schedule pods, pull images, and initialize the application before it can serve requests. This can cause session timeouts under burst traffic.
ACK Serverless Knative keeps one reserved instance running at all times. During off-peak hours, it replaces compute-optimized instances with burstable instances to reduce costs. When requests arrive, it switches back to compute-optimized instances. CPU credits accumulated during off-peak hours can offset compute costs during peak hours.
Prerequisites
To deploy Knative in an ACK Serverless cluster, the cluster version must be 1.16 or later. You can deploy containerized applications in ACK Serverless clusters without the need to purchase nodes.
Deploy Knative
Deploy Knative in the Container Service for Kubernetes (ACK) console.
Billing
ACK Serverless Knative charges only for the cloud resources used to manage your ACK Serverless cluster: elastic container instances, SLB instances, and NAT gateways. Each resource type is billed according to its billing rules.
What's next
-
Deploy Knative: Enable Knative on an ACK Serverless cluster.
-
Reserved instances: Learn how reserved instances work and how to configure them to balance cost and availability.