本文介绍如何在RDS Custom容器系列灵骏节点上部署大模型。
步骤一:下载大模型文件到OSS
前往ModelScope社区,搜索并下载目标大模型。
将大模型文件上传至OSS。
步骤二:在RDS Custom容器系列节点中挂载OSS
1、创建具有OSS访问权限的RAM用户并获取AccessKey
您需要首先获取RAM用户的AccessKey信息,以使其拥有OSS Bucket的操作权限。
创建RAM用户,如已创建可跳过。
以下只读和读写权限策略请根据使用需求选择,并替换
mybucket为您实际创建的Bucket名称。OSS只读权限策略
OSS读写权限
为RAM用户添加OSS权限,详见为RAM用户授权。
为RAM用户创建AccessKey,详见获取AccessKey。
2、创建静态卷PV
登录容器服务管理控制,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择查看节点信息。
在左侧导航栏,选择集群信息。
在集群信息页面,单击右上方的通过Workbench管理集群。
在终端界面,执行以下kubectl命令创建静态卷PV。
kubectl create -f pv-oss.yaml以下为创建静态卷PV的
oss-csi-model-qwen-wulanchabu.yaml示例文件。apiVersion: v1 kind: PersistentVolume metadata: name: oss-csi-model-qwen-wulanchabu # PV的名称,需唯一 labels: alicloud-pvname: oss-csi-model-qwen-wulanchabu # 自定义标签,用于标识PV spec: accessModes: - ReadWriteMany capacity: storage: 900Gi csi: driver: ossplugin.csi.alibabacloud.com volumeAttributes: bucket: model-qwen # 目标OSS Bucket名称,替换为真实值 url: oss-cn-wulanchabu-internal.aliyuncs.com # OSS 内网Endpoint otherOpts: "-o allow_other" # 挂载选项:允许其他用户访问 akId: ****** # 阿里云AccessKey ID,替换为真实值 akSecret: ***** # AccessKey Secret,替换为真实值 volumeHandle: oss-model-qwen-wulanchabu persistentVolumeReclaimPolicy: Retain storageClassName: oss # 关联StorageClass名称 volumeMode: Filesystem # 挂载为文件系统
3、创建存储声明PVC
执行以下命令创建存储声明PVC。
kubectl create -f pvc-oss.yaml以下为创建存储声明PVC的oss-pvc-model-qwen-wulanchabu.yaml示例文件。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: oss-pvc-model-qwen-wulanchabu
namespace: default
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 900Gi
storageClassName: oss
volumeMode: Filesystem步骤三:部署Pod
本文以大模型通义千问3-32B(Qwen3-32B)为例,在部署其他模型时,请使用ModelScope社区提供的相应部署命令进行替换。
直接部署Pod和大模型服务
执行以下命令,部署Pod和大模型服务。
kubectl apply -f pod.yaml以下为部署Pod的sglang-qwen3.yaml示例文件。
apiVersion: v1
kind: Pod
metadata:
name: sglang-qwen3
spec:
containers:
- command:
- python3
- -m
- sglang.launch_server
- --model-path
- /data/Qwen3-32B
- --trust-remote-code
- --host
- 0.0.0.0
- --port
- "8000"
- --tensor-parallel-size
- "8"
- --enable-metrics
- --enable-torch-compile
- --torch-compile-max-bs
- "8"
image: aliclouddb-pub-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/aliclouddb-public/des-ai:25.07-v1.5.3-sglang0.4.7-torch2.6-cu126-20250717
imagePullPolicy: IfNotPresent
name: sglang-qwen3
ports:
- containerPort: 8000
name: restful
protocol: TCP
resources:
limits:
aliyun/ppu: "8"
cpu: "88"
memory: 900G
requests:
aliyun/ppu: "8"
cpu: "88"
memory: 900G
volumeMounts:
- name: oss-volume
mountPath: "/data"
volumes:
- name: oss-volume
persistentVolumeClaim:
claimName: oss-pvc-model-qwen-wulanchabu
restartPolicy: Always
nodeSelector:
alibabacloud.com/virtual-node: "true"
tolerations:
- effect: NoSchedule
key: virtual-kubelet.io/provider
value: aliclouddb先部署Pod,再部署模型服务
执行以下命令,部署Pod。
kubectl apply -f pod.yaml以下为部署Pod的
sglang-qwen3.yaml示例文件。apiVersion: v1 kind: Pod metadata: name: sglang-qwen3 # Pod名称 spec: containers: - command: - sh - -c - echo hello world; sleep infinity; image: aliclouddb-pub-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/aliclouddb-public/des-ai:25.07-v1.5.3-sglang0.4.7-torch2.6-cu126-20250717 imagePullPolicy: IfNotPresent name: sglang-qwen3 ports: - containerPort: 8000 name: restful protocol: TCP resources: limits: aliyun/ppu: "8" cpu: "88" memory: 900G requests: aliyun/ppu: "8" cpu: "88" memory: 900G volumeMounts: - name: oss-volume mountPath: "/data" volumes: - name: oss-volume persistentVolumeClaim: claimName: oss-pvc-model-qwen-wulanchabu restartPolicy: Always nodeSelector: alibabacloud.com/virtual-node: "true" tolerations: - effect: NoSchedule key: virtual-kubelet.io/provider value: aliclouddb执行以下命令,查看Pod状态。当待状态为
Running时,表示Pod部署成功。kubectl get pod sglang-qwen3 -o wide执行以下命令,进入Pod。
kubectl exec -it sglang-qwen3 -- /bin/bash执行以下命令,部署模型服务。
python3 -m sglang.launch_server --model-path /data/Qwen3-32B --trust-remote-code --host 0.0.0.0 --port "8000" --tensor-parallel-size "8" --enable-metrics --enable-torch-compile --torch-compile-max-bs "8"
步骤四:验证大模型服务
执行以下命令获取目标Pod的IP地址。
kubectl get pods -o wide执行以下命令,验证大模型服务。
curl http://<目标Pod的IP地址>:8000/v1/chat/completions -H "Content-Type: application/json" -d '{ "model": "qwen3", "messages": [ {"role": "system", "content": "Initiate your response with \"<think>\\n嗯\" at the beginning of every output."}, {"role": "user", "content": "你是什么模型?"} ], "stream": false }'
相关文档
更多关于RDS Custom的功能介绍及其使用,请参见RDS Custom简介
常见问题
Q:使用pip install安装Python包时失败或超时,该如何解决?
A:这通常是由于pip的默认镜像源访问速度较慢或不稳定导致的,建议使用Python官方和阿里云的镜像源。您可以按照以下步骤创建或修改pip的配置文件:
执行以下命令,查找
pip的配置文件。pip config debug编辑配置文件,将以下内容添加或修改到该文件中。以配置文件
/root/.config/pip/pip.conf为例。[global] index-url = https://pypi.org/simple extra-index-url = https://mirrors.aliyun.com/pypi/simple/ [install] trusted-host = mirrors.aliyun.com