Topik ini menjelaskan cara menggunakan kubectl untuk membuat Volume Persisten (PV) dan Klaim Volume Persisten (PVC), yang kemudian dapat dipasang ke aplikasi pada Node AI RDS Custom atau Node Lingjun.
Perhatian
Node AI RDS Custom dan Node Lingjun hanya mendukung AccessKey teks biasa untuk memasang Bucket OSS.
Langkah 1: Buat Pengguna RAM dengan izin akses OSS dan dapatkan AccessKey
Pertama, dapatkan AccessKey untuk Pengguna Resource Access Management (RAM) yang memiliki izin untuk melakukan operasi pada Bucket OSS.
Buat Pengguna RAM. Jika Anda sudah memiliki Pengguna RAM, Anda bisa melewati langkah ini.
Anda dapat memilih kebijakan read-only atau baca-tulis sesuai kebutuhan. Ganti
mybucketdengan nama Bucket Anda.Kebijakan OSS Read-Only
Kebijakan OSS Baca-Tulis
Berikan izin OSS kepada Pengguna RAM. Untuk informasi lebih lanjut, lihat Berikan Izin kepada Pengguna RAM.
Buat AccessKey untuk Pengguna RAM. Untuk informasi lebih lanjut, lihat Dapatkan AccessKey.
Langkah 2: Buat Volume Persisten (PV) statis
Jalankan perintah berikut untuk membuat PV statis.
kubectl create -f pv-oss.yamlKode berikut memberikan contoh file oss-csi-model-qwen-inner.yaml untuk membuat PV statis.
apiVersion: v1
kind: PersistentVolume
metadata:
name: oss-csi-model-qwen-inner # Nama unik untuk PV.
labels:
alicloud-pvname: oss-csi-model-qwen-inner # Tag kustom yang mengidentifikasi PV.
spec:
accessModes:
- ReadWriteMany # Mendukung multi-node baca dan tulis, atribut asli dari OSS.
capacity:
storage: 63Gi # Kapasitas penyimpanan PV. Ini harus sesuai dengan kapasitas bucket OSS.
csi:
driver: ossplugin.csi.alibabacloud.com # Driver Container Storage Interface (CSI) Alibaba Cloud OSS.
volumeAttributes:
bucket: model-qwen # Nama bucket OSS target.
path: /Qwen3-32B # Awalan jalur pemasangan di bucket, seperti folder /Qwen3-32B.
url: oss-cn-beijing-internal.aliyuncs.com # Titik akhir internal OSS untuk wilayah China (Beijing).
otherOpts: "-o allow_other" # Opsi pemasangan: mengizinkan pengguna lain mengakses volume.
akId: ****** # ID AccessKey Alibaba Cloud Anda. Ganti dengan nilai sebenarnya.
akSecret: ***** # Rahasia AccessKey Anda. Ganti dengan nilai sebenarnya.
volumeHandle: oss-model-qwen-inner # Pengenal unik untuk volume.
persistentVolumeReclaimPolicy: Retain # Menyimpan data saat PV dihapus. Ini adalah perilaku default.
storageClassName: oss # Nama StorageClass terkait.
volumeMode: Filesystem # Memasang volume sebagai sistem file.Langkah 3: Buat klaim volume persisten (PVC)
Jalankan perintah berikut untuk membuat PVC.
kubectl create -f pvc-oss.yamlKode berikut memberikan contoh file oss-pvc-model-qwen-inner.yaml untuk membuat PVC.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: oss-pvc-model-qwen-inner # Nama PVC.
namespace: default # Namespace.
spec:
accessModes:
- ReadWriteMany # Meminta mode akses yang sama dengan PV.
resources:
requests:
storage: 63Gi # Kapasitas penyimpanan yang diminta. Nilai ini harus kurang dari atau sama dengan kapasitas PV.
storageClassName: oss # StorageClass terkait.
volumeMode: Filesystem # Mode sistem file.Langkah 4: Terapkan pod dan pasang PVC
Jalankan perintah berikut untuk menerapkan pod dan memasang PVC.
kubectl apply -f pod.yamlKode berikut memberikan contoh file sglang-qwen3.yaml untuk menerapkan pod.
apiVersion: v1
kind: Pod
metadata:
name: sglang-qwen3 # Nama pod.
spec:
containers:
- command:
- sh
- -c
- echo hello world; sleep infinity; # Perintah uji. Ganti ini dengan logika bisnis aktual Anda.
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 # Menarik citra hanya jika belum ada.
name: sglang # Nama kontainer.
ports:
- containerPort: 8000 # Port pendengar kontainer.
name: restful
protocol: TCP
resources:
requests:
cpu: "80"
memory: "300Gi"
nvidia.com/gpu: "8"
limits:
cpu: "80"
memory: "300Gi"
nvidia.com/gpu: "8"
volumeMounts:
- name: oss-volume # Nama pemasangan. Ini harus cocok dengan nama di bagian volumes.
mountPath: "/data" # Jalur pemasangan di kontainer. Jalur ini menyimpan data OSS.
volumes:
- name: oss-volume
persistentVolumeClaim:
claimName: oss-pvc-model-qwen-inner # Nama PVC terkait.
restartPolicy: Always # Memulai ulang pod jika gagal.
nodeSelector:
alibabacloud.com/virtual-node: "true" # Menjadwalkan pod ke node virtual.
tolerations:
- effect: NoSchedule
key: virtual-kubelet.io/provider
value: aliclouddb # Toleransi untuk taint pada node virtual.Langkah 5: Verifikasi pod
Jalankan perintah berikut untuk melihat status pod.
kubectl get pod sglang-qwen3 -o wide