All Products
Search
Document Center

Container Service for Kubernetes:Gunakan disk sebagai volume sementara

Last Updated:Nov 11, 2025

Jika aplikasi Anda memerlukan penyimpanan tambahan tetapi tidak membutuhkan penyimpanan persisten, Anda dapat memasang volume sementara ke Pod. Volume tersebut dibuat dan dihapus bersamaan dengan Pod terkait, sehingga menyederhanakan penerapan dan pengelolaan aplikasi. Topik ini menjelaskan cara menggunakan disk sebagai volume sementara, memasang volume tersebut ke Pod melalui ephemeral.volumeClaimTemplate, serta memverifikasi bahwa volume persisten (PV) dan klaim volume persisten (PVC) secara otomatis dihapus saat Pod dihapus.

Skenario

Metode ini cocok untuk skenario yang memerlukan penyimpanan sementara, seperti:

  • Aplikasi Anda memerlukan penyimpanan sementara untuk menyimpan data antara, tetapi tidak perlu mempertahankan data tersebut secara persisten.

  • Aplikasi Anda menghasilkan log dengan throughput tinggi. Penggunaan penyimpanan sementara non-bersama membantu memastikan kinerja penyimpanan.

Prasyarat

Kluster ACK yang menjalankan versi 1.22 atau lebih baru telah dibuat.

Buat penyebaran dan pasang volume sementara

Saat membuat penyebaran, Anda dapat menggunakan VolumeClaimTemplate untuk secara otomatis membuat PVC dan PV. VolumeClaimTemplate adalah templat yang mendefinisikan PVC. Sistem membuat sejumlah PVC berdasarkan jumlah replika yang ditentukan dalam konfigurasi penyebaran. PVC tersebut memiliki konfigurasi yang sama, kecuali nama masing-masing.

Catatan

Anda dapat menggunakan ephemeral.volumeClaimTemplate untuk memasang volume sementara pada penyebaran, StatefulSet, dan Pod. Topik ini menggunakan penyebaran sebagai contoh.

  1. Modifikasi konten YAML berikut berdasarkan deskripsi parameter dalam tabel, lalu simpan sebagai file ephemeral-example.yaml.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: ephemeral-example
    spec:
      replicas: 2
      selector:
        matchLabels:
          pod: example-pod
      strategy:
        type: Recreate      
      template:
        metadata:
          labels:
            pod: example-pod
        spec:
          containers:
            - name: nginx
              image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
              resources:
                requests:
                  cpu: 500m
                  memory: 2Gi
                  ephemeral-storage: 2Gi
              volumeMounts:
              - mountPath: "/scratch"
                name: scratch-volume
          volumes:
            - name: scratch-volume
              ephemeral:      # Mendeklarasikan penyimpanan saat ini sebagai penyimpanan sementara
                volumeClaimTemplate:
                  spec:
                    accessModes: [ "ReadWriteOncePod" ]
                    storageClassName: alicloud-disk-topology-alltype
                    resources:
                      requests:
                        storage: 30Gi

    Tabel berikut menjelaskan parameter dalam volumeClaimTemplate.

    Parameter

    Deskripsi

    accessModes

    Mode akses volume persisten. Anda dapat mengatur parameter ini menjadi ReadWriteOncePod atau ReadWriteOnce.

    Jika kluster Anda versi 1.29 atau lebih baru, gunakan ReadWriteOncePod. Ini memastikan bahwa disk hanya digunakan oleh satu Pod.

    storageClassName

    Nama StorageClass yang akan digunakan.

    Contoh ini menggunakan alicloud-disk-topology-alltype, yaitu StorageClass bawaan yang disediakan oleh ACK. StorageClass ini mendefinisikan konfigurasi untuk volume disk. StorageClass ini mencoba membuat disk dalam urutan berikut: SSD Perusahaan (ESSD), SSD standar, dan disk ultra.

    Catatan

    Disk ditagih berdasarkan skema bayar sesuai penggunaan. Untuk informasi selengkapnya, lihat penagihan Elastic Block Storage dan harga Elastic Block Storage.

    storage

    Kapasitas volume sementara.

    Catatan

    StorageClass yang digunakan dalam contoh (alicloud-disk-topology-alltype) secara default membuat ESSD PL1. Kapasitas minimum adalah 20 GiB.

  2. Gunakan file ephemeral-example.yaml untuk membuat penyebaran.

    kubectl create -f ephemeral-example.yaml
  3. Periksa status Pod penyebaran.

    kubectl get pod -l pod=example-pod

    Output yang diharapkan:

    NAME                                 READY   STATUS    RESTARTS   AGE
    ephemeral-example-7f795798f9-kbplx   1/1     Running   0          38s
    ephemeral-example-7f795798f9-p98lt   1/1     Running   0          38s
  4. Periksa PVC.

    kubectl get pvc

    Keluaran berikut diharapkan. PVC dan PV yang sesuai dengan Pod dibuat secara otomatis. ID disk terdapat pada bidang VOLUME.

    NAME                                                STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS                     VOLUMEATTRIBUTESCLASS   AGE
    ephemeral-example-7f795798f9-kbplx-scratch-volume   Bound    d-uf61678cuo33eunn****   30Gi       RWOP           alicloud-disk-topology-alltype   <unset>                 74s
    ephemeral-example-7f795798f9-p98lt-scratch-volume   Bound    d-uf6dwkdcowyf2fj6****   30Gi       RWOP           alicloud-disk-topology-alltype   <unset>                 74s

Verifikasi bahwa PV dan PVC dihapus saat Pod mengalami skala-masuk

Saat Anda membuat penyebaran seperti yang dijelaskan pada bagian sebelumnya, disk dipasang secara otomatis ke setiap Pod sebagai volume sementara. Volume tersebut secara otomatis dihapus saat Pod terkait dihapus. Contoh berikut menunjukkan cara memverifikasi perilaku ini.

  1. Kurangi jumlah replika penyebaran.

    Perintah berikut mengurangi jumlah replika dalam penyebaran menjadi 1.

    kubectl scale deploy ephemeral-example --replicas=1
  2. Periksa Pod untuk memastikan skala-masuk telah selesai.

    kubectl get pod -l pod=example-pod

    Output yang diharapkan:

    NAME                                 READY   STATUS    RESTARTS   AGE
    ephemeral-example-7f795798f9-kbplx   1/1     Running   0          5m29s
  3. Periksa PV dan PVC untuk memastikan sumber daya untuk Pod yang dihapus juga dihapus.

    1. Periksa PV.

      kubectl get pv

      Keluaran berikut diharapkan. PV untuk Pod yang dihapus juga dihapus.

      NAME                     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                                                       STORAGECLASS                     VOLUMEATTRIBUTESCLASS   REASON   AGE
      d-uf61678cuo33eunn****   30Gi       RWOP           Delete           Bound    default/ephemeral-example-7f795798f9-kbplx-scratch-volume   alicloud-disk-topology-alltype   <unset>                          5m52s
    2. Periksa PVC.

      kubectl get pvc

      Keluaran berikut diharapkan. PVC untuk Pod yang dihapus juga dihapus.

      NAME                                                STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS                     VOLUMEATTRIBUTESCLASS   AGE
      ephemeral-example-7f795798f9-kbplx-scratch-volume   Bound    d-uf61678cuo33eunn****   30Gi       RWOP           alicloud-disk-topology-alltype   <unset>                 7m11s

Referensi

  • Untuk informasi selengkapnya tentang cara memantau penggunaan penyimpanan sementara, lihat Pemantauan penyimpanan sementara.

  • Untuk informasi selengkapnya tentang penggunaan disk untuk penyimpanan persisten, lihat Volume disk.