全部产品
Search
文档中心

Container Service for Kubernetes:Penyediaan Dinamis Volume Disk Menggunakan CLI

更新时间:Jul 02, 2025

Untuk menyediakan disk secara dinamis sebagai volume persisten (PV), Anda harus membuat StorageClass secara manual dan mengatur bidang storageClassName dalam klaim volume persisten (PVC) untuk menentukan tipe disk.

Buat StorageClass dengan ID zona tertentu (zoneId)

  1. Buat file storage-class.yaml dan salin konten berikut ke dalam file tersebut:
    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: alicloud-disk-ssd-hangzhou-b
    provisioner: alicloud/disk
    parameters:
      type: cloud_ssd
      regionId: cn-hangzhou
      zoneId: cn-hangzhou-b
    reclaimPolicy: Retain
    Tabel berikut menjelaskan parameter-parameter tersebut.
    ParameterDeskripsi
    provisionerAtur nilai menjadi alicloud/disk. Ini adalah plugin volume yang digunakan untuk menyediakan disk.
    typeTipe disk. Nilai valid termasuk cloud_efficiency, cloud_ssd, cloud_essd, dan available. Jika Anda mengatur parameter ini ke available, sistem akan mencoba membuat disk dalam urutan berikut: ESSD, SSD standar, dan ultra disk. Sistem terus mencoba hingga disk dibuat.
    regionIdWilayah tempat Anda ingin membuat disk.
    reclaimPolicyKebijakan untuk mereklaim disk. Secara default, parameter ini diatur ke Delete. Anda juga dapat mengatur parameter ini ke Retain. Jika Anda memerlukan keamanan data tinggi, kami sarankan Anda mengatur parameter ini ke Retain untuk menghindari kehilangan data akibat kesalahan pengguna.
    zoneIdZona tempat Anda ingin membuat disk.
    Untuk kluster multi-zona, Anda dapat menentukan beberapa zona. Contoh:
    zoneId: cn-hangzhou-a,cn-hangzhou-b,cn-hangzhou-c
    encryptedOpsional. Parameter ini menentukan apakah disk dienkripsi. Secara default, parameter ini diatur ke false. Ini menentukan bahwa disk tidak dienkripsi.
  2. Jalankan perintah berikut untuk membuat StorageClass:
    kubectl apply -f storage-class.yaml

Buat StorageClass dalam mode WaitForFirstConsumer

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
   name: alicloud-disk-topology-ssd
provisioner: alicloud/disk
parameters:
    type: cloud_ssd
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
Catatan
  • Jika Anda tidak membuat StorageClass dalam mode WaitForFirstConsumer dan parameter zoneid tidak diatur, PV dibuat di zona tempat komponen Disk-Controller diterapkan.
  • Jika Anda tidak membuat StorageClass dalam mode WaitForFirstConsumer tetapi parameter zoneid diatur, sistem akan mencoba membuat PV di zona yang ditentukan berdasarkan algoritma round-robin.
  • Jika Anda membuat StorageClass dalam mode WaitForFirstConsumer, disk dibuat untuk node tempat pod yang menggunakan PVC dijadwalkan. Disk dibuat di zona dari pod yang dijadwalkan.

Buat PVC

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: disk-ssd
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: alicloud-disk-ssd-hangzhou-b
  resources:
    requests:
      storage: 20Gi
---
kind: Pod
apiVersion: v1
metadata:
  name: disk-pod-ssd
spec:
  containers:
  - name: disk-pod
    image: nginx
    volumeMounts:
      - name: disk-pvc
        mountPath: "/mnt"
  restartPolicy: "Never"
  volumes:
    - name: disk-pvc
      persistentVolumeClaim:
        claimName: disk-ssd

Pengaturan default berikut termasuk:

Dalam kluster multi-zona, Anda harus membuat StorageClass secara manual untuk menentukan zona tempat disk dibuat.

Secara default, jenis-jenis StorageClass berikut disediakan untuk kluster satu zona:
  • alicloud-disk-efficiency: ultra disk.
  • alicloud-disk-ssd: SSD standar.
  • alicloud-disk-essd: ESSD.
  • alicloud-disk-available: mode ketersediaan tinggi. Dalam mode ini, sistem pertama-tama mencoba membuat SSD standar. Jika sumber daya SSD habis, sistem mencoba membuat ultra disk.
    Penting Untuk versi alicloud-disk-controller lebih lama dari v1.14.8.44-c23b62c5-aliyun, sistem mencoba membuat disk dalam urutan berikut: ESSD, SSD standar, dan ultra disk. Sistem terus mencoba hingga disk dibuat.
  • alicloud-disk-topology: membuat disk dalam mode WaitForFirstConsumer.

Buat StatefulSet Multi-Instansi Menggunakan Disk

Anda dapat menggunakan parameter volumeClaimTemplates untuk membuat beberapa PVC dan PV secara dinamis serta mengikat PV ke PVC.

apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  ports:
  - port: 80
    name: web
  clusterIP: None
  selector:
    app: nginx
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
spec:
  selector:
    matchLabels:
      app: nginx
  serviceName: "nginx"
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
          name: web
        volumeMounts:
        - name: disk-ssd
          mountPath: /data
  volumeClaimTemplates:
  - metadata:
      name: disk-ssd
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "alicloud-disk-ssd-hangzhou-b"
      resources:
        requests:
          storage: 20Gi

Anda juga dapat menggunakan volume disk yang disediakan secara dinamis di konsol Container Service for Kubernetes (ACK). Untuk informasi lebih lanjut, lihat Gunakan volume disk yang disediakan secara dinamis di konsol ACK.