阿里云ACS容器化部署Qwen3-32B模型流程
L20 单卡为48GB 所以部署 Qwen3-32B 需要两张L20 显卡。1、通过modelscope(魔搭) 本地下载Qwen3-32B文件。3、选择GPU配置(Qwen3-32B 最低显存配置96GB)确认可用区(Region)、ACK版本等,自行选择。2、配置SNAT(集群内可以访问公网)1、使用已有的VPC 在同一可用区。不同显卡容量配置信息。
·
前期准备
1、阿里云上创建对应资源及权限,在同一可用区下。
VPC(专有网络)、OSS(对象存储)、ACS(容器镜像)
下载模型文件 Qwen3-32B
1、通过modelscope(魔搭) 本地下载Qwen3-32B文件
pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple modelscope --no-input
modelscope download --model Qwen/Qwen3-32B --local_dir qwen
Tip:https://www.modelscope.cn/models/Qwen/Qwen3-32B
2、将文件上传是OSS
由于模型文件过大,无法通过控制台直接上传,建议是安OssBroswser直接上传文件
https://help.aliyun.com/zh/oss/developer-reference/installing-the-ossbrowser-2-0?spm=a2c4g.11186623.0.0.5d6a33b7xXofWC#2e1e5eee641da
创建ACS集群(容器集群)
1、开通ACS容器服务集群(需要开通GPU部署权限)。

确认可用区(Region)、ACK版本等,自行选择
重点确认网络配置中的以下信息:
1、使用已有的VPC 在同一可用区
2、配置SNAT(集群内可以访问公网)
3、选择GPU配置(Qwen3-32B 最低显存配置96GB)
不同显卡容量配置信息
https://help.aliyun.com/zh/cs/user-guide/gpu-families-supported-by-acs#e9274813bbraz
L20 单卡为48GB 所以部署 Qwen3-32B 需要两张L20 显卡
2、创建NameSpace

3、创建Secret
1、创建Docker镜像仓库Secret
apiVersion: v1
kind: Secret
metadata:
name: acs-image-secret
namespace: qwen
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: xxxxxxx.cn-wulanchabu.cr.aliyuncs.com(这部分需要自行镜像仓库地址及密钥)
2、创建OSS密钥
apiVersion: v1
kind: Secret
metadata:
name: oss-secret
namespace: qwen
stringData:
akId: XXXXXXXX (自行创建)
akSecret: XXXXXXXXXXX (自行创建)
4、创建PV & PVC 存储大模型
1、创建 PersistentVolume
apiVersion: v1
kind: PersistentVolume
metadata:
name: oss-pv-acs-qwen-rw
labels:
alicloud-pvname: oss-pv-acs-qwen-rw # PV名称
spec:
storageClassName: oss-pv-rw
capacity:
storage: 100Gi # PV容量
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Delete # 自动删除PV和底层存储 Retain - 手动回收,保留数据
csi:
driver: ossplugin.csi.alibabacloud.com
volumeHandle: oss-pv-acs-qwen-rw
nodePublishSecretRef:
name: oss-secret # 创建的OSS密钥
namespace: qwen
volumeAttributes: # 自己创建的OSS_BUCKET 的信息
bucket: OSS_BUCKET
otherOpts: '-o max_stat_cache_size=0 -o allow_other'
path: OSS_BUCKET_PATH
url: OSS_BUCKET_URL
2、创建 PersistentVolumeClaim 下载模型
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: oss-pvc-acs-qwen-rw
namespace: qwen
spec:
storageClassName: oss-pv-rw
accessModes:
- ReadWriteMany
resources:
requests:
storage: 50Gi
selector:
matchLabels:
alicloud-pvname: oss-pv-acs-qwen-rw
5、创建 Job 下载模型文件
apiVersion: batch/v1
kind: Job
metadata:
name: qwen3-32b
namespace: qwen
spec:
completions: 1
parallelism: 1
template:
metadata:
labels:
app: qwen3-32b
spec:
imagePullSecrets:
- name: acs-image-secret
containers:
- command:
- sh
- -c
- |
mkdir -p -v /qwen/qwen3-32b
pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple modelscope --no-input
modelscope download --model Qwen/Qwen3-8B --local_dir /qwen/qwen3-32b
wait
image: xxxx-registry.cn-hangzhou.cr.aliyuncs.com(Docker镜像仓库)地址
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8000
protocol: TCP
name: qwen3-32b
resources:
limits:
cpu: 4
memory: 8G
ephemeral-storage: 100Gi
requests:
cpu: 4
memory: 8G
ephemeral-storage: 100Gi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /qwen
name: data
dnsPolicy: ClusterFirst
restartPolicy: OnFailure
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: data
persistentVolumeClaim:
claimName: oss-pvc-acs-qwen-rw


6、部署Qwen3-32B模型
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: llm-qwen3-32b
name: qwen3-32b
namespace: qwen
spec:
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: llm-qwen3-32b
template:
metadata:
labels:
alibabacloud.com/compute-class: gpu
alibabacloud.com/compute-qos: default
alibabacloud.com/gpu-model-series: L20
app: llm-qwen3-32b
spec:
imagePullSecrets:
- name: acs-image-secret
containers:
- command:
- sh
- -c
- gpu_count=$(nvidia-smi --query-gpu=count --format=csv,noheader | wc -l);
vllm serve /qwen/qwen3-32b
--host 0.0.0.0
--port 8000
--root-path '/'
--trust-remote-code
--gpu-memory-utilization 0.95
--tensor-parallel-size $gpu_count
--max-num-batched-tokens 4096
--served-model-name Qwen3-32B
image: xxxx-registry.cn-hangzhou.cr.aliyuncs.com(Docker镜像仓库)地址
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8000
protocol: TCP
name: llm-qwen3-32b
resources:
limits:
cpu: 4
memory: 8G
nvidia.com/gpu: '2'
ephemeral-storage: 100Gi
requests:
cpu: 4
memory: 8G
nvidia.com/gpu: '2'
ephemeral-storage: 100Gi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /qwen
name: data
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: data
persistentVolumeClaim:
claimName: oss-pvc-acs-qwen-rw
创建Pod
7、创建对应的服务
输出正常后;创建service 服务;
apiVersion: v1
kind: Service
metadata:
name: qwen3-32b-svc
namespace: qwen
spec:
type: ClusterIP
selector:
app: llm-qwen3-32b
ports:
- protocol: TCP
port: 8000
targetPort: 8000
更多推荐
所有评论(0)