Knative Serving deploys container-based serverless workloads on Kubernetes and exposes them through HTTP(S) requests. It abstracts deployment and networking details while scaling workloads from zero to N instances and routing traffic among application revisions. section 9.0 section 9.3.2
A Knative Service coordinates the workload lifecycle through related custom resources:
- Service defines the container version and traffic rules, then creates the resources required for the workload lifecycle. section 9.3.2
- Revision records an immutable snapshot of a container version and its configuration. section 9.3.2
- Configuration separates application code from desired-state settings; changing it creates a new Revision. section 9.3.2
- Route maps endpoints to one or more revisions, enabling controlled traffic distribution without directly managing low-level networking resources. section 9.2.2 section 9.3.2
Deploy and split traffic
A minimal Service manifest names the workload, selects a container image, and supplies environment variables such as TARGET. Traffic rules can then send 95% of requests to helloworld-v1 and 5% to helloworld-v2, supporting a canary rollout.
Knative can run on managed or self-managed Kubernetes environments, including Anthos GKE, EKS, IBM IKS, OpenShift, and Minikube. Installing Serving requires CRDs, core components, networking, DNS, and optional extensions; YAML files or an operator can perform the installation. section 9.3.5 section 9.0
