NAS是一种可共享访问、弹性扩展、高可靠以及高性能的分布式文件系统。本文介绍如何在RDS Custom容器系列节点上挂载NAS静态存储卷,并实现持久化存储与共享存储。
前提条件
步骤一:创建NAS文件系统
详细操作请参见创建文件系统。
获取挂载点地址。
在文件系统列表页面,找到目标文件系统,单击操作列的挂载,即可查看到目标文件系统的挂载点地址。例如:
通用型NAS:
153f****.cn-beijing.nas.aliyuncs.com
极速型NAS:
162d****.cn-beijing.extreme.nas.aliyuncs.com
步骤二:创建静态卷PV
执行以下命令创建静态卷PV。
kubectl create -f pv-nas.yaml
部分参数要求如下:
server:为目标NAS的挂载地址。
path:在容器中挂载NAS存储卷的子目录。通用型NAS的父目录为
/
;极速型NAS的父目录为/share。例如,通用型NAS的子目录可以设置为
/csi
,极速型NAS的子目录可以设置为/share/csi
。volumeHandle:为目标NAS的实例ID。
示例文件:
通用型NAS
以下为创建静态卷PV的pv-nas-normal
示例文件。
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-nas-normal
labels:
alicloud-pvname: pv-nas-normal
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 1Ti
csi:
driver: nasplugin.csi.alibabacloud.com
volumeAttributes:
server: 153f****.cn-beijing.nas.aliyuncs.com
path: /csi
volumeHandle: 153f94****
极速型NAS
以下为创建静态卷PV的pv-nas-extreme
示例文件。
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-nas-extreme
labels:
alicloud-pvname: pv-nas-extreme
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 1Ti
csi:
driver: nasplugin.csi.alibabacloud.com
volumeAttributes:
server: 01ac****.cn-beijing.extreme.nas.aliyuncs.com
path: /share
volumeHandle: extreme-01ac****
步骤三:创建存储声明PVC
执行以下命令创建存储声明PVC。
kubectl create -f pvc-nas.yaml
示例文件:
通用型NAS
以下为创建存储声明PVC的pvc-nas-normal
示例文件。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-nas-normal
spec:
volumeName: pv-nas-normal
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Ti
极速型NAS
以下为创建存储声明PVC的pvc-nas-extreme
示例文件。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-nas-extreme
spec:
volumeName: pv-nas-extreme
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Ti
步骤四:部署Pod并挂载PVC
执行以下命令,部署Pod并挂载PVC。
kubectl apply -f pod.yaml
示例文件:
通用型NAS
以下为部署Pod的sglang-qwen3-nas-normal
示例文件。
# Pod 配置
apiVersion: v1
kind: Pod
metadata:
name: sglang-qwen3-nas-normal
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: "40"
memory: "300Gi"
limits:
cpu: "40"
memory: "300Gi"
volumeMounts:
- name: nas-normal-volume
mountPath: "/nas"
volumes:
- name: nas-normal-volume
persistentVolumeClaim:
claimName: pvc-nas-normal
restartPolicy: Always
nodeSelector:
alibabacloud.com/virtual-node: "true"
tolerations:
- effect: NoSchedule
key: virtual-kubelet.io/provider
value: aliclouddb
极速型NAS
以下为部署Pod的sglang-qwen3-nas-extreme
示例文件。
# Pod 配置
apiVersion: v1
kind: Pod
metadata:
name: sglang-qwen3-nas-extreme
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: "40"
memory: "300Gi"
limits:
cpu: "40"
memory: "300Gi"
volumeMounts:
- name: nas-normal-volume
mountPath: "/nas"
volumes:
- name: nas-normal-volume
persistentVolumeClaim:
claimName: pvc-nas-extreme
restartPolicy: Always
nodeSelector:
alibabacloud.com/virtual-node: "true"
tolerations:
- effect: NoSchedule
key: virtual-kubelet.io/provider
value: aliclouddb
步骤五:验证挂载结果
执行以下命令,验证挂载结果。
kubectl exec <pod名称> -- df -h /nas
示例:
kubectl exec sglang-qwen3-nas-extreme -- df -h /nas
Filesystem Size Used Avail Use% Mounted on
0162d****.cn-beijing.extreme.nas.aliyuncs.com:/share 99G 134M 99G 1% /nas
相关文档
该文章对您有帮助吗?