Knative is supported. Knative is an open source Kubernetes-based serverless framework. Knative creates a cloud-native and cross-platform orchestration standard for serverless applications. Knative implements this standard by integrating the creation of containers (or functions), workload management (auto scaling), and event models.
The following figure shows how different roles interact with each other in the Knative architecture.
The figure is cited from Knative official documentation. The citation complies with a Creative Commons Attribution 4.0 International Public License (CC-BY-4.0).
Developers of serverless applications can call the Kubernetes-native API to deploy serverless applications based on Knative.
Contributors in the preceding figure mainly refer to the contributors to the Knative community.
Knative can be integrated with environments that are supported by Knative, such as environments of cloud service providers or internal environments of enterprises. Knative is based on Kubernetes. Therefore, it can be deployed in environments where Kubernetes is implemented.
Users access services through Istio gateways, or run serverless applications by triggering Knative events.
Key Knative components
Knative consists of two core components. These components comprise a general-purpose serverless framework:
Knative Eventing: provides event management capabilities, such as producing and consuming events.
Knative Eventing has designed an all-in-one eventing system for event-driven serverless applications. The eventing 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 Serving: provides serverless workload management capabilities. Knative Serving enables serverless deployment, version management, and canary releases for your applications. Knative Serving also supports pod auto scaling based on resource requests. If no workload is processed, the number of pods is scaled to zero.
Knative supports third-party add-ons. The GitHub add-on component is supported. This component provides support for GitHub event sources.
Deploy Knative components in a Kubernetes cluster
If the Kubernetes version of your cluster is earlier than 1.22, you must update the Kubernetes version of your cluster to 1.22 or later.
You can deploy Knative in Container Service for Kubernetes (ACK) managed clusters, ACK dedicated clusters, and serverless Kubernetes (ACK Serverless) clusters. You can deploy Knative components by using the following methods:
Knative billing rules
Knative is free of charge. However, you are charged for the cloud resources that are created during the use of Knative. For example, you may create Elastic Compute Service (ECS) instances, Server Load Balancer (SLB) instances, and NAT gateways. You are charged for creating and using these resources.