Integrate serverless computing power on the cloud
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
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.
ImportantIf 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
HostPathorHostNetworkin a pod'smanifest. -
Privileged containers are not supported. Use a Security Context to add specific capabilities instead.
NoteThe 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.