All Products
Search
Document Center

Container Service for Kubernetes:Overview

Last Updated:Sep 01, 2023

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.

Knative architecture

The following figure shows how different roles interact with each other in the Knative architecture. Knative architecture

Note

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

    Developers of serverless applications can call the Kubernetes-native API to deploy serverless applications based on Knative.

  • Contributors

    Contributors in the preceding figure mainly refer to the contributors to the Knative community.

  • Operators

    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

    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 add-ons

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

Note

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:

  • For more information about how to deploy Knative components in ACK managed clusters and ACK dedicated clusters, see Deploy Knative.

  • For more information about how to deploy Knative components in ACK Serverless clusters, see Enable Knative.

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.