This topic describes how to create and manage Pods for RDS Custom container series database instances in an ACK managed cluster. This enables cloud-native Pod scheduling and the deployment of containerized applications.
Key concepts
Virtual machine series
The virtual machine series provides virtualized database compute instances. Each instance is a virtual machine that includes a database engine, an operating system, and the necessary runtime environment. This series follows standard ECS O&M practices and supports SSH access to the host for database configuration, monitoring, and troubleshooting.
The virtual machine series is available in Standard Edition, Yitian Edition, and as an AI node.
Container series
The RDS Custom container series uses a virtual node (vnode) architecture to run database Pods with the AliSQL kernel in ACK managed clusters or self-managed Kubernetes clusters. This enables the containerized deployment of MySQL, PostgreSQL, and SQL Server databases within the Kubernetes ecosystem.
The container series is available in Standard Edition, Yitian Edition, and as an AI node.
AI node
An AI node is a database platform that integrates RDS data with AI models. It processes data to improve model accuracy and inference efficiency, reducing inference costs. It features a built-in Retrieval-Augmented Generation (RAG) service that uses a vector database and includes RDS Copilot—an intelligent O&M assistant—to accelerate your AI innovations.
Step 1: Create an ACK Pro cluster
Create an ACK Managed Cluster Pro Edition. Then, on the Basic Information page of the cluster in the console, obtain the cluster ID, VPC information, and vSwitch information. For details, see Create an ACK managed cluster.
Skip this step if you already have an ACK managed cluster.
RDS Custom container series nodes support only ACK managed clusters that use Terway as the network plugin. When you create an ACK Managed Cluster Pro Edition, you must set Network Plug-in to Terway.
Step 2: Create an RDS Custom container node
Log on to the ApsaraDB RDS Console. In the navigation pane on the left, click RDS Custom > Custom Instance List.
Click Create Instance and configure the parameters on the buy page. For other parameter descriptions, see Create an RDS Custom instance.
Parameter
Description
Database type
Select RDS Custom.
Region
Select the region where your ACK managed cluster is deployed.
Product series
Select container series.
ACK cluster
Select the ACK managed cluster that you created in Step 1.
Connection
You must provide the KubeConfig the first time you create an RDS Custom container series node.
Click Get Connection Information to open the ACK Cluster Information page.
Select the Connection tab and click Get Permanent KubeConfig.
From the intranet access section, copy the entire
client-certificate-data.Paste the
client-certificate-datainformation into the first input box in the Connection section on the RDS Custom buy page.From the intranet access section, copy the entire
client-key-data.Paste the
client-key-datainformation into the second input box in the Connection section on the RDS Custom buy page.
VPC
Select the VPC of the ACK managed cluster.
vSwitch
Select a vSwitch in the same availability zone as the container series node.
Instance type
Select either AI node or Lingjun node.
Click Confirm Order and complete the payment.
Return to the console. In the navigation pane on the left, click RDS Custom > Custom Instance List. In the top navigation bar, select the region where you created the instance. Find the newly created instance based on its creation time.
NoteInstance creation takes 1 to 10 minutes. Refresh the page to check the status.
RDS Custom container series instances support billing method changes, renewals, and unsubscriptions. However, they do not support instance type scaling or storage scaling.
Step 3: Use container nodes in an ACK cluster
Log on to the Container Service for Kubernetes (ACK) console. In the navigation pane on the left, choose Clusters.
On the Clusters page, click the name of your target cluster. In the navigation pane on the left, choose to view node information.
In the navigation pane on the left, choose Basic Information.
On the Basic Information page, click Manage Cluster in Workbench in the upper-right corner.
In the terminal, run a kubectl command to verify the cluster connectivity.
For example, the following command queries node information.
kubectl get node vn-frzqv6g28****Expected output:
NAME STATUS ROLES AGE VERSION vn-frzqv6g28**** Active <none> 25m V1.24.2-sharer.1.1-082dafbcabcd88
Step 4: Schedule pods to a container node
Log on to the Container Service for Kubernetes (ACK) console. In the navigation pane on the left, choose Clusters.
On the Clusters page, click the name of your target cluster. In the navigation pane on the left, choose .
On the Pods page, click Create from YAML. Configure the template and then click Create.
Set the image address in the
spec.containers.imageparameter. For a list of image addresses for the RDS Custom container series in different regions.NoteFor users who work with large language models, RDS Custom provides container images for both SgLang and vLLM environments. You can also use images from your private image repository to launch containers.
To schedule a Pod to an RDS Custom container node, you must configure a specific
nodeSelectorandtolerations. For more information, see Configure nodeSelector and tolerations.NoteTo prevent system component Pods from consuming resources on RDS Custom container nodes, each node has the following default taints and labels:
Label:
alibabacloud.com/virtual-node: trueTaint:
effect: NoSchedule key: virtual-kubelet.io/provider value: aliclouddb
Set the
nodeSelectortoalibabacloud.com/virtual-node: "true". Alternatively, find the vnodeId of the target node and setrm.alibaba-inc.com/vnodeId: "vn-e45b77245bb09b5e".Set the
tolerationsto:tolerations: - effect: NoSchedule key: virtual-kubelet.io/provider value: aliclouddb
The following YAML is an example of a Pod configuration for an AI node:
NoteThis example configures a Pod named
test-pod, using resource limits and node affinity to deploy a containerized service.# Pod configuration apiVersion: v1 kind: Pod metadata: name: test-pod # Use a unique name to avoid conflicts. spec: containers: - command: - sh - -c - echo hello world; sleep infinity; image: aliclouddb-pub-registry-vpc.cn-beijing.cr.aliyuncs.com/aliclouddb-public/des-ai-nv:25.05-sglang0.4.6.post4-pytorch2.6-cu124-20250513-serverless imagePullPolicy: IfNotPresent name: sglang ports: - containerPort: 8000 # The port that the container listens on. name: restful protocol: TCP resources: requests: cpu: "20" memory: "100Gi" limits: cpu: "20" memory: "100Gi" restartPolicy: Always nodeSelector: alibabacloud.com/virtual-node: "true" # Schedules the Pod only to virtual nodes with this label. tolerations: - effect: NoSchedule key: virtual-kubelet.io/provider value: aliclouddb