Jika aplikasi Anda memerlukan penyimpanan tambahan tetapi tidak memerlukan persistensi data, Anda dapat memasang volume sementara ke pod aplikasi Anda. Volume sementara dibuat dan dihapus bersamaan dengan pod, sehingga menyederhanakan penyebaran dan pengelolaan aplikasi. Topik ini menjelaskan cara memasang volume sementara ke pod dengan menambahkan parameter ephemeral.volumeClaimTemplate ke konfigurasi pod. Topik ini juga memverifikasi apakah Persistent Volume (PV) dan Persistent Volume Claim (PVC) yang relevan dihapus secara otomatis ketika pod dihapus.
Skenario
Volume sementara cocok untuk skenario berikut:
Aplikasi menggunakan volume sementara untuk menyimpan data sementara yang tidak perlu dipertahankan.
Aplikasi biasanya menghasilkan sejumlah besar data log. Anda dapat menggunakan volume sementara eksklusif untuk menyimpan data log tersebut.
Prosedur
Hubungkan ke kluster ACS Anda. Untuk informasi lebih lanjut, lihat Dapatkan file kubeconfig dari kluster dan gunakan kubectl untuk terhubung ke kluster dan Gunakan kubectl pada Cloud Shell untuk mengelola kluster ACS.
Buat file bernama ephemeral-example.yaml dan salin blok kode berikut ke dalam file tersebut. Modifikasi parameter dalam template sesuai dengan deskripsi parameter dalam tabel di bawah blok kode.
CatatanParameter
ephemeral.volumeClaimTemplateberlaku untuk Deployment, StatefulSets, dan pod. Dalam contoh ini, Deployment digunakan.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: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest resources: requests: cpu: 500m memory: 2Gi ephemeral-storage: 2Gi volumeMounts: - mountPath: "/scratch" name: scratch-volume volumes: - name: scratch-volume ephemeral: volumeClaimTemplate: metadata: labels: type: scratch-volume spec: accessModes: [ "ReadWriteOncePod" ] storageClassName: alicloud-disk-topology-alltype resources: requests: storage: 40GiTemplate YAML di atas mendefinisikan Deployment yang menyediakan dua pod. Volume sementara dipasang ke setiap pod. Tabel berikut menjelaskan bidang dalam parameter
volumeClaimTemplate.Parameter
Deskripsi
accessModesMode akses volume. Atur nilainya menjadi
ReadWriteOncePod.storageClassNameNama StorageClass yang ingin Anda gunakan.
Dalam contoh ini, StorageClass
alicloud-disk-topology-alltypedigunakan. Ini adalah StorageClass default yang disediakan oleh Alibaba Cloud Container Compute Service (ACS). StorageClass ini menentukan konfigurasi volume disk, yang disediakan untuk memasang Enterprise SSD (ESSD) tingkat performa 1 (PL1).CatatanAnda akan dikenakan biaya untuk disk yang Anda gunakan berdasarkan sistem bayar sesuai pemakaian. Untuk informasi lebih lanjut, lihat Penagihan perangkat penyimpanan blok dan Harga perangkat penyimpanan blok.
storageKapasitas volume sementara.
StorageClass yang digunakan dalam contoh ini dapat digunakan untuk membuat volume disk yang disediakan untuk memasang ESSD PL1. ESSD PL1 mendukung kapasitas mulai dari 20 hingga 65.536 GiB.
Sebarkan file ephemeral-example.yaml untuk membuat Deployment.
kubectl create -f ephemeral-example.yamlPeriksa status pod yang dibuat oleh Deployment.
kubectl get podKeluaran berikut menunjukkan bahwa dua pod telah dibuat.
NAME READY STATUS RESTARTS AGE ephemeral-example-64db7b9f5c-hcpz5 1/1 Running 0 108s ephemeral-example-64db7b9f5c-qqvl5 1/1 Running 0 108sPeriksa PVC.
kubectl get pvcKeluaran berikut menunjukkan bahwa PVC dan PV dibuat untuk pod.
CatatanVolume disk digunakan dalam contoh ini. Anda dapat memperoleh ID disk dari bidang
VOLUME.NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE ephemeral-example-64db7b9f5c-hcpz5-scratch-volume Bound d-uf6h6nl0yf2y1331**** 40Gi RWOP alicloud-disk-topology-alltype 3m28s ephemeral-example-64db7b9f5c-qqvl5-scratch-volume Bound d-uf6a3lk85znunou6**** 40Gi RWOP alicloud-disk-topology-alltype 3m28s
Verifikasi hasil
Setelah Anda menyelesaikan langkah-langkah di atas untuk membuat Deployment, volume sementara disediakan untuk setiap pod untuk memasang disk. Volume sementara dihapus secara otomatis ketika pod dihapus. Lakukan langkah-langkah berikut untuk memverifikasi hasil penyebaran:
Kurangi jumlah replika pod untuk Deployment.
Jalankan perintah berikut untuk mengurangi jumlah replika pod untuk Deployment menjadi satu:
kubectl scale deploy ephemeral-example --replicas=1Periksa apakah operasi penskalaan masuk telah selesai.
kubectl get podKeluaran berikut menunjukkan bahwa jumlah replika pod yang dibuat untuk Deployment adalah satu.
NAME READY STATUS RESTARTS AGE ephemeral-example-64db7b9f5c-qqvl5 1/1 Running 0 11mPeriksa apakah PV dan PVC dihapus.
Periksa PV.
kubectl get pvKeluaran berikut menunjukkan bahwa PV dihapus bersamaan dengan pod.
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE d-uf6a3lk85znunou6**** 40Gi RWOP Delete Bound default/ephemeral-example-64db7b9f5c-qqvl5-scratch-volume alicloud-disk-topology-alltype 20mPeriksa PVC.
kubectl get pvcKeluaran berikut menunjukkan bahwa PVC dihapus bersamaan dengan pod.
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE ephemeral-example-64db7b9f5c-qqvl5-scratch-volume Bound d-uf6a3lk85znunou6**** 40Gi RWOP alicloud-disk-topology-alltype 15m