Integrate serverless computing power on the cloud

Updated at:

ACK One registered clusters seamlessly integrate Kubernetes with cloud-based serverless computing resources through ACK virtual nodes, enabling self-managed Kubernetes clusters to access elastic cloud computing capabilities, such as CPU and GPU resources. You can use ACK virtual nodes to create serverless pods in your self-managed Kubernetes clusters, using cloud resources to run pods for elastic scaling during business expansion and traffic peaks.

How it works

image

Key benefits

Virtual nodes offer the following advantages:

  • Fully managed: You do not need to create underlying resource pools, which reduces the O&M workload. Virtual nodes are managed resources and do not require routine O&M operations for Kubernetes nodes, such as system upgrades or security patch installations.

  • Large capacity: You can scale out to a maximum of 50,000 pods without capacity planning.

    Important

    If many pods are associated with services, we recommend that you keep the number of pods within 20,000.

  • Elasticity in seconds: You can create thousands of pods in a short time. This prevents pod creation latency from affecting services during traffic spikes.

  • Secure isolation: Pods are created based on ECI. Each container instance is strongly isolated from others using lightweight sandboxed container technology.

  • Cost-effective: Applications are created on demand and billed on a pay-as-you-go basis. You are not charged for idle resources. The serverless architecture also reduces O&M costs.

Use cases

Virtual nodes are well-suited for the following scenarios:

  • Online services

    For online services that experience frequent traffic spikes, such as online education and e-commerce, virtual nodes support scaling in seconds. This prevents system failures caused by slow scale-outs during traffic surges and avoids resource waste from idle resources.

  • Data processing

    For processing many concurrent online data tasks, such as Spark and Presto tasks, the concurrency is no longer limited by the cost of underlying resources. You can quickly scale out to thousands of pods to meet the requirements of big data processing.

  • AI tasks

    For AI tasks such as model training and model inference, which do not run continuously but require significant computing resources, you do not need to reserve resources. Instead, use resources on demand and pay by the second to reduce AI inference costs. Additionally, second-level elasticity lets you quickly respond to burst workloads.

  • CI/CD staging environments

    For batch testing tasks in the CI/CD process, such as CI packaging, stress testing, and simulation testing, you can use virtual nodes to create and release container instances at any time. You can use resources on demand and are charged on a per-second basis. This approach provides large-scale resources at a low cost.

  • Jobs and CronJobs

    Jobs and CronJobs do not need to run continuously. After a job is complete, it stops, and the corresponding pod is deleted. With virtual nodes, billing stops and computing resources are released automatically when the job is complete. This avoids resource waste from idle resources.

Limits

Before you use virtual nodes, note the following limits.

  • DaemonSet workloads are not supported. Use a sidecar container as a workaround.

  • You cannot specify HostPath or HostNetwork in a pod's manifest.

  • Privileged containers are not supported. Use a Security Context to add specific capabilities instead.

    Note

    The privileged container feature is in internal preview. To try this feature, submit a ticket.

  • NodePort Services and session affinity are not supported.

  • The China (Shenzhen Finance) and China GovCloud regions are not supported.

Billing information

The virtual node itself incurs no charges. However, pods running on virtual nodes incur charges for computing resources used. For more information, see Elastic Container Instance billing and ACS billing.