本文介绍通过ACK托管集群创建并管理RDS Custom容器系列节点,实现云原生Pod调度与容器化应用部署。
概念介绍
虚机系列
基于虚拟化技术的计算实例(如阿里云ECS),每个虚机实例是一个完整的虚拟计算机,包含操作系统、内核和应用程序。虚机系列兼容ECS的运维习惯,支持客户ssh登录主机。
虚机系列支持标准版、倚天版、AI节点
容器系列
容器系列(Container Series)即为虚拟节点(VNode)实例,其底层计算节点为不可登录的虚拟化资源。用户可通过容器编排系统(如Kubernetes)在虚拟节点上调度和管理Pod实例,具备Pod级别的操作权限,但无法直接访问或控制底层节点的操作系统及硬件资源。
容器系列支持AI节点和灵骏节点。
AI节点
AI节点对应普通的ECS GPU(EGS),专为人工智能(AI)任务优化的计算节点,通常配备高性能GPU或AI加速芯片,适用于机器学习模型训练、推理、深度学习等场景。
灵骏节点
灵骏是阿里云的高性能AI计算服务,软硬一体化设计,专为大规模AI训练和科学计算提供异构算力。
步骤一:创建ACK托管集群Pro版
创建ACK托管集群Pro版,并在控制台基本信息页面获取集群ID、VPC和交换机信息。具体操作,详见创建ACK托管集群。
如果已有ACK托管集群,可跳过该步骤。
RDS Custom容器节点仅支持使用Terway作为网络插件的ACK托管集群。在创建ACK托管集群Pro版时,必须将网络插件选择为Terway。
步骤二:创建RDS Custom容器系列节点
登录RDS管理控制台,在左侧导航栏单击RDS Custom > Custom实例列表。
单击创建实例并在售卖页配置参数,其他详细参数介绍请参见创建RDS Custom实例。
参数
说明
数据库类型
选择RDS Custom。
地域
选择ACK托管集群所在的地域。
产品系列
选择容器系列。
ACK集群
选择步骤一创建的ACK托管集群。
连接信息
首次创建RDS Custom容器系列节点时,需要填写KubeConfig。
单击页面的获取连接信息,跳转到ACK集群信息页面。
选择连接信息页签,并单击获取长期 KubeConfig。
复制内网访问中完整的
client-certificate-data
信息。将
client-certificate-data
信息填写到RDS Custom售卖页连接信息的第一个输入框中。复制内网访问中完整的
client-key-data
信息。将
client-key-data
信息填写到RDS Custom售卖页连接信息的第二个输入框中。
VPC
选择ACK托管集群的VPC。
交换机
在ACK托管集群的交换机中,选择与容器节点可用区相同的交换机。
实例规格
根据需要选择AI节点或灵骏节点。
单击确认下单,并完成支付。
返回管理控制台,在左侧导航栏单击RDS Custom > Custom实例列表,在上方选择创建实例时选择的地域,根据创建时间查看最新创建的实例。
说明创建实例需要约1~10分钟,建议您刷新页面查看。
RDS Custom容器系列节点实例支持转换计费方式、续费和退订操作,不支持升降配和存储扩缩容操作。
步骤三:ACK集群中使用RDS Custom容器系列节点
登录容器服务管理控制,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择
查看节点信息。在左侧导航栏,选择集群信息。
在集群信息页面,单击右上方的通过Workbench管理集群。
在终端界面,执行kubectl命令以验证集群的连通性。
此命令以查询节点信息为例。
kubectl get node vn-frzqv6g28****
预期输出:
NAME STATUS ROLES AGE VERSION vn-frzqv6g28**** Active <none> 25m V1.24.2-sharer.1.1-082dafbcabcd88
步骤四:将Pod调度到RDS Custom容器系列节点
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在容器组页面,单击使用YAML创建资源,对模板进行相关配置,完成配置后单击创建。
通过
spec.containers.image
参数配置镜像地址。RDS Custom容器系列在不同地域下的镜像地址请参见容器系列镜像列表。说明针对使用大模型的用户,RDS Custom提供了SgLang和vLLM两种环境的容器镜像。您也可以使用自有镜像仓库中的镜像来启动容器。
将Pod调度到RDS Custom容器节点需要设置特定
nodeSelector
和tolerations
,详见配置nodeSelector和tolerations。说明为避免系统组件的Pod调度到RDS Custom容器节点上占用资源,RDS Custom容器节点默认会具有以下信息:
Label:
alibabacloud.com/virtual-node: true
Taint:
effect: NoSchedule key: virtual-kubelet.io/provider value: aliclouddb
nodeSelector
需要设置:alibabacloud.com/virtual-node: "true"
或者找到对应节点的vnodeId信息rm.alibaba-inc.com/vnodeId: "vn-e45b77245bb09b5e"
。tolerations
需要设置:tolerations: - effect: NoSchedule key: virtual-kubelet.io/provider value: aliclouddb
AI节点配置Pod的示例如下:
说明下方示例代码配置了一个名为
test-pod
的Pod,通过资源限制、健康检查和节点亲和性,实现云原生环境下的容器化服务部署。# Pod 配置 apiVersion: v1 kind: Pod metadata: name: test-pod # 使用唯一名称,避免重复 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 # 容器监听端口 name: restful protocol: TCP resources: requests: cpu: "20" memory: "100Gi" limits: cpu: "20" memory: "100Gi" restartPolicy: Always nodeSelector: alibabacloud.com/virtual-node: "true" # 仅调度到带有该标签的虚拟节点 tolerations: - effect: NoSchedule key: virtual-kubelet.io/provider value: aliclouddb