
Cập nhật lần cuối: 21/08/2025 17:00
1. Điều kiện tiên quyết
Lưu ý:
|
2. Triển khai Workload
Đối với VPC tùy biến, VNPT Block Storage CSI hỗ trợ tự động khởi tạo và cấp phát volume trong phạm vi quota Block Storage mà khách hàng đã mua trước đó. Các bước tự tạo volume như sau:
Bước 1: Tạo StorageClass:
StorageClass (viết tắt là SC) là template cấu hình khách hàng khai báo để khởi tạo volume, việc tạo StorageClass là không bắt buộc do khi cài VNPT Block Storage CSI đã có sẵn StorageClass tương ứng với loại volume SSD và được cấu hình để sử dụng mặc định.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: my-storage-class # [1] The StorageClass name, CAN be changed provisioner: bs.csi.vnptplatform.vn # The VNPT CSI driver name parameters: type: ssd # The volume tier name csi.storage.k8s.io/fstype: xfs allowVolumeExpansion: true # MUST set this value to turn on volume expansion feature |
parameter.type: ssd

Bước 2: Tạo PersistentVolumeClaim:
PersistentVolumeClaim (PVC) là yêu cầu do người dùng khai báo để đề nghị cấp phát một ổ đĩa lưu trữ với dung lượng xác định. Khi tạo PVC, K8s sẽ dựa trên StorageClass để tạo mới hoặc lựa chọn ổ đĩa phù hợp và gán cho workload sử dụng.
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc #[1] The PVC name spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi storageClassName: my-storage-class |
| kubectl apply -f persistent-volume-claim.yaml |
Bước 3: Tạo pod sử dụng PVC
version: v1 kind: Pod metadata: name: nginx spec: containers: - image: nginx imagePullPolicy: IfNotPresent name: nginx ports: - containerPort: 80 protocol: TCP volumeMounts: - mountPath: /var/lib/www/html |
| kubectl apply -f podnginx-pvc.yaml |
Lúc này, hệ thống sẽ tự động tạo một Volume tương ứng với file yaml bên trên, volume này sẽ được gắn vào node đang chạy Pod sử dụng PVC. Ví dụ:
kubectl get pvc,pod NAME STATUS VOLUME STORAGECLASS persistentvolumeclaim/nginx-pvc Bound pvc-33c2... csi-vnptcloud-ssd
NAME READY STATUS RESTARTS AGE pod/nginx-pod 1/1 Running 0 7m53s |
Đối với vpc thường (hay vpc mặc định), khách hàng cần triển khai, khởi tạo Volume và thanh toán thủ công.
Hướng dẫn sử dụng Persistent volume trên VPC thường:
Bước 1: Khởi tạo Volume trên Console VNPT Cloud Portal
Bước 2: Tạo Persistent Volume ứng với Volume vừa tạo:
apiVersion: v1 kind: PersistentVolume metadata: name: nginx-pv #[1] PV name, can change spec: capacity: storage: 2Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: "" csi: driver: bs.csi.vnptplatform.vn volumeHandle: ff78c129-ba1a-43ee-9097-43f9f02c36d9 #[2] volume ID |
Đường dẫn: Trang chủ > Dịch vụ hạ tầng > Block Storage > Volume > Chi tiết Volume
| kubectl apply -f podnginx-pv.yaml |
Bước 3: Tạo Persistent Volume Claim ứng với Persistent Volume:
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nginx-pvc #[1] PVC name spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi volumeName: nginx-pv #The same [1] in pv template storageClassName: "" |
| kubectl apply -f podnginx-pvc.yaml |
Bước 4: Tạo Pod sử dụng Persistent Volume Claim:
piVersion: v1 kind: Pod metadata: name: nginx spec: containers: - image: nginx imagePullPolicy: IfNotPresent name: nginx ports: - containerPort: 80 protocol: TCP volumeMounts: - mountPath: /var/lib/www/html name: my-volume-name volumes: - name: my-volume-name persistentVolumeClaim: claimName: nginx-pvc # The same [1] in pvc template readOnly: false |
| kubectl apply -f podnginx.yaml |