NAS是一種可共用訪問、彈性擴充、高可靠以及高效能的Distributed File System。本文介紹如何在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