O NAS é um sistema de arquivos distribuído que oferece acesso compartilhado, escalabilidade, alta confiabilidade e alto desempenho. Este tópico descreve como montar um volume NAS com provisionamento estático em um nó da série de contêineres do RDS Custom para implementar armazenamento persistente e compartilhado.
Pré-requisitos
Etapa 1: Crie um sistema de arquivos NAS
-
Para obter instruções detalhadas, consulte Crie um sistema de arquivos.
Crie o sistema de arquivos NAS na mesma região do nó da série de contêineres do RDS Custom.
Os sistemas de arquivos NAS de uso geral e NAS Extreme são compatíveis. Escolha a opção mais adequada às suas necessidades.
-
Se você utilizar um sistema de arquivos NAS existente, verifique se ele atende aos requisitos abaixo. Caso contrário, crie um novo sistema de arquivos NAS.
O tipo de protocolo deve ser NFS.
-
O ponto de montagem e o nó da série de contêineres do RDS Custom devem estar na mesma VPC, e o Status deve ser Active. Para adicionar um ponto de montagem, consulte Gerencie pontos de montagem.
Ao criar um sistema de arquivos NAS de uso geral, configure a VPC e o vSwitch do ponto de montagem. Para sistemas de arquivos NAS Extreme, adicione um ponto de montagem após a criação e especifique a VPC e o vSwitch correspondentes.
A montagem do sistema de arquivos NAS ocorre apenas em pods na mesma VPC. Não há suporte para montagem entre VPCs diferentes. Dentro da mesma VPC, o NAS permite montagem entre zonas distintas.
NotaPara criptografar os dados no volume NAS, configure o tipo de criptografia durante a criação do sistema de arquivos NAS.
-
Obtenha o endereço do ponto de montagem.
Na página File System List, localize o sistema de arquivos desejado e clique em Mount na coluna Operation para visualizar o endereço do ponto de montagem. Exemplo:
NAS de uso geral:
153f****.cn-beijing.nas.aliyuncs.comNAS Extreme:
162d****.cn-beijing.extreme.nas.aliyuncs.com
Etapa 2: Crie um PV com provisionamento estático
Execute o comando a seguir para criar um PV com provisionamento estático.
kubectl create -f pv-nas.yaml
Alguns requisitos de parâmetros são os seguintes:
server: Endereço de montagem do NAS de destino.
-
path: Subdiretório onde o volume NAS será montado no contêiner. O diretório pai para NAS de uso geral é
/. Para NAS Extreme, o diretório pai é /share.Por exemplo, defina o subdiretório do NAS de uso geral como
/csie o do NAS Extreme como/share/csi. volumeHandle: ID da instância do NAS de destino.
Arquivos de exemplo:
NAS de uso geral
Veja abaixo um exemplo de arquivo pv-nas-normal para criar um PV com provisionamento estático.
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 Extreme
Confira a seguir um exemplo de arquivo pv-nas-extreme para criar um PV com provisionamento estático.
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****
Etapa 3: Crie uma PVC (Persistent Volume Claim)
Execute o comando abaixo para criar uma persistent volume claim (PVC).
kubectl create -f pvc-nas.yaml
Arquivos de exemplo:
NAS de uso geral
Este é um exemplo de arquivo pvc-nas-normal para criar uma persistent volume claim (PVC).
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-nas-normal
spec:
volumeName: pv-nas-normal
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Ti
NAS Extreme
Abaixo está um exemplo de arquivo pvc-nas-extreme para criar uma persistent volume claim (PVC).
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-nas-extreme
spec:
volumeName: pv-nas-extreme
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Ti
Etapa 4: Implantar um pod e montar a PVC
Execute o seguinte comando para implantar um pod e montar a PVC.
kubectl apply -f pod.yaml
Arquivos de exemplo:
NAS de uso geral
Utilize este modelo de arquivo sglang-qwen3-nas-normal para implantar um pod.
# Pod configuration
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 Extreme
Use este modelo de arquivo sglang-qwen3-nas-extreme para implantar um pod.
# Pod configuration
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
Etapa 5: Verifique o resultado da montagem
Execute o comando a seguir para verificar o resultado da montagem.
kubectl exec <pod name> -- df -h /nas
Exemplo de saída:
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