全部产品
Search
文档中心

Container Service for Kubernetes:Gunakan volume disk yang di-provision secara dinamis

更新时间:Jul 06, 2025

Disk Alibaba Cloud adalah sumber daya penyimpanan tingkat blok untuk Elastic Compute Service (ECS). Disk ini menawarkan latensi rendah, kinerja tinggi, daya tahan tinggi, dan keandalan tinggi. ACK Serverless memungkinkan Anda menggunakan Plugin Container Storage Interface (CSI) untuk membuat volume disk yang di-provision secara dinamis. Topik ini menjelaskan cara menggunakan volume disk yang di-provision secara dinamis serta cara memverifikasi bahwa volume tersebut dapat digunakan untuk penyimpanan persisten.

Skenario

Disk cocok untuk skenario berikut:

  • Membuat aplikasi dengan throughput I/O disk tinggi tanpa memerlukan berbagi data, seperti layanan MySQL dan Redis.

  • Menulis log dengan kecepatan tinggi.

  • Menyimpan data secara persisten secara independen dari siklus hidup pod.

Selain provisioning statis berdasarkan disk yang ada, Kubernetes mendukung provisioning dinamis melalui StorageClasses. Provisioning dinamis memungkinkan pembuatan dan alokasi sumber daya penyimpanan secara otomatis. Setelah mengaitkan StorageClass dengan klaim volume persisten (PVC), sistem akan otomatis membuat dan mengikat volume persisten (PV) sesuai konfigurasi PVC dan StorageClass. Fitur ini mengotomatiskan pembuatan dan konfigurasi sumber daya penyimpanan untuk memenuhi kebutuhan aplikasi, sekaligus mengurangi kompleksitas orkestrasi infrastruktur penyimpanan.

Cluster ACK Serverless tidak menyediakan StorageClasses default. Anda harus membuat StorageClasses secara manual di cluster ACK Serverless sesuai kebutuhan bisnis Anda.

Catatan

Kubernetes menyediakan fitur StorageClass default. Jika PVC tidak menentukan StorageClass, StorageClass default akan digunakan untuk menyediakan PV untuk PVC. Untuk informasi lebih lanjut tentang penyimpanan Kubernetes, lihat Dasar-dasar Penyimpanan.

Prasyarat

Prosedur

Konsol ACK

Step 1: Create a StorageClass

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, temukan cluster yang diinginkan dan klik namanya. Di panel kiri, pilih Volumes > StorageClasses.

  3. Di pojok kanan atas halaman StorageClasses, klik Create.

  4. Di kotak dialog Create, konfigurasikan parameter.

    Tabel berikut menjelaskan parameter.

    Parameter

    Deskripsi

    Name

    Nama StorageClass. Nama harus mengikuti format yang ditampilkan di Konsol ACK.

    PV Type

    Tipe volume persisten (PV). Pilih Cloud Disk.

    Parameter

    Secara default, parameter tipe ditambahkan dan disetel ke cloud_essd. Parameter tipe menentukan kategori disk. Nilai valid untuk parameter tipe:

    • cloud_essd: Enterprise SSD (ESSD).

    • cloud_regional_disk_auto: Regional ESSDs

    • elastic_ephemeral_disk_premium: premium elastic ephemeral disk.

    • elastic_ephemeral_disk_standard: standard elastic ephemeral disk.

    • cloud_ssd: standard SSD.

    • cloud_efficiency: ultra disk.

    Anda dapat menyetel parameter tipe ke kombinasi apa pun dari nilai-nilai di atas. Sebagai contoh, Anda dapat menentukan type: cloud_ssd,cloud_essd. Dalam kasus ini, sistem mencoba membuat disk dalam urutan kategori yang ditentukan. Sistem berhenti mencoba setelah disk berhasil dibuat.

    Catatan

    Jenis instance ECS tertentu tidak mendukung ESSD atau elastic ephemeral disk. Untuk informasi lebih lanjut, lihat FAQ tentang Elastic Block Storage.

    Anda dapat menambahkan parameter kustom. Sebagai contoh, Anda dapat menambahkan parameter zoneId untuk menentukan ID zona tempat Anda ingin membuat disk. Jika cluster Anda diterapkan di satu zona, atur nilainya ke ID zona. Contoh: cn-beijing-a. Jika cluster Anda diterapkan lintas zona, Anda dapat menyetel parameter zoneId ke beberapa ID zona berdasarkan kebutuhan bisnis Anda. Contoh: cn-beijing-a, cn-beijing-b.

    Reclaim Policy

    Kebijakan reklaim disk. Nilai default: Delete. Anda juga dapat menyetel parameter ini ke Retain.

    • Mode Delete: Saat PVC dihapus, PV dan disk terkait juga dihapus.

    • Mode Retain: Saat PVC dihapus, PV dan disk terkait dipertahankan. PV dan data disk hanya dapat dihapus secara manual.

    Jika Anda memerlukan keamanan data yang lebih tinggi, kami sarankan Anda menggunakan mode Retain untuk mencegah data terhapus secara tidak sengaja.

    Binding Mode

    Mode pengikatan volume. Nilai default: Immediate, yang menentukan bahwa sistem membuat disk sebelum membuat pod.

  5. Setelah mengonfigurasi parameter, klik Create.

    Setelah StorageClass dibuat, Anda dapat melihatnya di halaman StorageClasses.

Step 2: Create a PVC

  1. Di panel navigasi kiri halaman detail, pilih Volumes > Persistent Volume Claims.

  2. Di pojok kanan atas halaman Persistent Volume Claims, klik Create.

  3. Di kotak dialog Create PVC, atur parameter berikut:

    Parameter

    Deskripsi

    PVC Type

    Tipe PVC. Anda dapat menyetel parameter ini ke Cloud Disk atau NAS. Dalam contoh ini, parameter ini disetel ke Cloud Disk.

    Name

    Nama PVC. Nama harus unik di namespace.

    Allocation Mode

    Dalam contoh ini, Use StorageClass dipilih.

    Existing Storage Class

    Klik Select. Di kotak dialog Select Storage Class, temukan StorageClass yang ingin Anda gunakan dan klik Select di kolom Actions.

    Capacity

    Kapasitas yang diklaim oleh PVC.

    Access Mode

    Mode akses PV yang disediakan menggunakan PVC. Nilai default: ReadWriteOnce.

  4. Klik Create.

    Setelah PVC dibuat, Anda dapat melihatnya di halaman Persistent Volume Claims. PVC terikat ke PV.

Step 3: Create an application

  1. Di panel navigasi kiri halaman detail, pilih Workloads > StatefulSets.

  2. Di pojok kanan atas halaman StatefulSets, klik Create from Image.

  3. Konfigurasikan parameter aplikasi.
    Contoh ini menunjukkan cara mengonfigurasi parameter volume. Untuk informasi lebih lanjut tentang parameter lainnya, lihat Gunakan StatefulSet untuk membuat aplikasi stateful.

    Anda dapat mengonfigurasi volume penyimpanan lokal dan volume penyimpanan cloud untuk cluster ACK. Dalam contoh ini, Cloud Storage dipilih.

    Pasang volume disk yang dibuat dalam contoh ini ke path /tmp kontainer. Setelah volume disk dipasang, data kontainer yang dihasilkan di path /tmp disimpan di volume disk.volume
  4. Konfigurasikan parameter lainnya dan klik Create.
    Setelah aplikasi dibuat, Anda dapat menggunakan volume untuk menyimpan data aplikasi.

kubectl

Step 1: Create a StorageClass

Dalam cluster multi-zona, Anda dapat membuat StorageClass dengan terlebih dahulu membuat disk cloud lalu membuat pod.

  1. Gunakan template berikut untuk membuat file bernama storage-class-csi.yaml:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alicloud-disk-ssd-b
    provisioner: diskplugin.csi.alibabacloud.com
    parameters:
      type: cloud_essd,cloud_ssd,cloud_efficiency
      encrypted: "false"
    reclaimPolicy: Retain
    allowVolumeExpansion: true
    volumeBindingMode: Immediate

    Parameter

    Deskripsi

    provisioner

    Atur nilai menjadi diskplugin.csi.alibabacloud.com. Nilai ini menentukan bahwa plugin provisioner untuk disk Alibaba Cloud digunakan untuk membuat StorageClass.

    type

    Parameter ini menentukan kategori disk. Nilai valid:

    • cloud_auto: ESSD AutoPL disk.

    • cloud_essd: ESSD. Ini adalah nilai default.

    • cloud_essd_entry: ESSD Entry disk.

    • cloud_ssd: standard SSD.

    • cloud_efficiency: ultra disk.

    • elastic_ephemeral_disk_standard: standard elastic ephemeral disk.

    • elastic_ephemeral_disk_premium: premium elastic ephemeral disk.

    • cloud_regional_disk_auto: Regional ESSDs.

    Anda dapat menyetel parameter ini ke kombinasi apa pun dari nilai-nilai di atas. Sebagai contoh, Anda dapat menyetel parameter ini ke type: cloud_ssd,cloud_essd,cloud_auto. Dalam kasus ini, sistem mencoba membuat disk dalam urutan kategori yang ditentukan. Sistem berhenti mencoba setelah disk berhasil dibuat.

    Penting

    Anda dapat menentukan kategori disk berdasarkan zona dan jenis instance node dalam cluster Anda serta persyaratan Anda untuk penagihan dan performa disk. Untuk informasi lebih lanjut, lihat topik berikut:

    encrypted

    Opsional. Parameter ini menentukan apakah disk dienkripsi. Nilai default adalah false, yang menunjukkan bahwa disk tidak dienkripsi.

    reclaimPolicy

    Kebijakan reklaim disk. Secara default, parameter ini disetel ke Delete. Anda juga dapat menyetel parameter ini ke Retain.

    • Mode Delete: Saat PVC dihapus, PV dan disk terkait juga dihapus.

    • Mode Retain: Saat PVC dihapus, PV dan disk terkait dipertahankan. PV dan data disk hanya dapat dihapus secara manual.

    Jika Anda memerlukan keamanan data yang tinggi, kami sarankan Anda menggunakan mode Retain untuk mencegah data terhapus secara tidak sengaja.

    allowVolumeExpansion

    Jika Anda menyetel parameter ini ke true, disk dapat diperluas secara otomatis.

    volumeBindingMode

    Mode pengikatan volume. Nilai default: Immediate, yang menentukan bahwa sistem membuat disk sebelum membuat pod.

  2. Jalankan perintah berikut untuk membuat StorageClass:

    kubectl apply -f storage-class-csi.yaml
  3. Lihat StorageClass yang dibuat.

    1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

    2. Di halaman Clusters, temukan cluster yang diinginkan dan klik namanya. Di panel kiri, pilih Volumes > StorageClasses.

    3. Setelah StorageClass dibuat, Anda dapat melihatnya di halaman StorageClasses.

Step 2: Create a PVC

  1. Gunakan template berikut untuk membuat file bernama pvc-ssd.yaml:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: disk-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      volumeMode: Filesystem
      resources:
        requests:
          storage: 25Gi
      storageClassName: alicloud-disk-ssd-b

    Parameter

    Deskripsi

    name

    Nama PVC.

    accessModes

    Mode akses PV yang disediakan menggunakan PVC.

    volumeMode

    Opsional. Format di mana disk dipasang. Sistem file didukung.

    storageClassName

    Nama StorageClass yang ingin Anda kaitkan dengan PVC.

    storage

    Ukuran disk yang diklaim oleh PVC. Kapasitas minimum adalah 20 GiB.

  2. Jalankan perintah berikut untuk membuat PVC:

    kubectl create -f pvc-ssd.yaml
  3. Lihat PVC yang dibuat.

    Di panel navigasi kiri halaman detail cluster, pilih Volumes > Persistent Volume Claims. Anda dapat melihat PVC yang dibuat di halaman Persistent Volume Claims.

Step 3: Create an application

  1. Buat file bernama pvc-dynamic.yaml.

    Gunakan template berikut untuk membuat aplikasi bernama nginx-dynamic dan pasang PVC ke aplikasi:

    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: nginx-dynamic
    spec:
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx
            ports:
            - containerPort: 80
              name: web
            volumeMounts:
            - name: pvc-disk
              mountPath: /data
          volumes:
            - name: pvc-disk
              persistentVolumeClaim:
                claimName: disk-pvc

    Parameter

    Deskripsi

    mountPath

    Path tempat disk dipasang.

    claimName

    Nama PVC yang dipasang ke aplikasi.

  2. Jalankan perintah berikut untuk menerapkan aplikasi dan memasang PVC ke aplikasi:

    kubectl create -f pvc-dynamic.yaml
  3. Lihat aplikasi yang diterapkan.

    Di panel navigasi kiri halaman detail cluster, pilih Workloads > StatefulSets. Anda dapat melihat aplikasi yang dibuat di halaman StatefulSets.

Referensi