Knative is a Kubernetes-based serverless framework. The purpose of Knative is to create a cloud-native and cross-platform orchestration standard for serverless applications. Knative integrates container builds (or functions), workload management (dynamic scaling), and event models. Knative helps you build an enterprise-class serverless container platform to deploy and manage modern serverless workloads.
Introduction
Container Service for Kubernetes (ACK) Knative is completely compatible with open source Knative and is interfaced with ACK, message services, storage services, and networking services to provide production-level capabilities.
As a general-purpose serverless framework, Knative consists of the following core components:
Knative Serving: manages serverless workloads based on events and can automatically scale pods based on resource requests.
Knative Serving is used to manage the workloads of serverless applications that provide services to users. The most important feature of Knative Serving is pod auto scaling. Pods can be scaled without limits. If no workload is processed, the number of pods is scaled to zero. Knative Serving also supports canary release.
Knative Eventing: provides event management capabilities, such as producing and consuming events.
Knative Eventing provides an all-in-one system for event-driven serverless applications. The system provides features that allow you to install external event sources, register and subscribe to events, and filter events. The event system decouples event producers and event consumers. An event producer can generate events before active event consumers listen to events. An event consumer can listen to events before active producers produce events.
Knative Function: provides an easy way to create, build, and deploy Knative Services.
You can use Knative Function to deploy stateless, event-driven functions as Knative Services to a Kubernetes cluster without the need to master the underlying technologies, such as Kubernetes, containers, and Knative.
Usage notes
You can deploy Knative in a registered cluster. To do this, the following requirements must be met.
An external Kubernetes cluster is connected to the registered cluster of Container Service for Kubernetes (ACK). Only Kubernetes 1.18 is supported. For more information, see Create a registered cluster.
A kubectl client is connected to the registered cluster. For more information, see Obtain the kubeconfig file of a cluster and use kubectl to connect to the cluster.
Only external Kubernetes clusters in the Calico route reflection mode or the Cilium Border Gateway Protocol (BGP) route mode are supported.
Usage notes for references
Feature | Reference |
Knative release notes | |
Comparison between Alibaba Cloud Knative and open source Knative | Comparison between Alibaba Cloud Knative and open source Knative |
Manage Knative components | |
Manage Knative Services | |
Knative Eventing | |
KServe | |
Best practices |