Mengimpor volume Disk Azure yang sudah ada
Jika sudah memiliki volume Disk Azure untuk digunakan dengan GKE di Azure, Anda dapat membuat objek PersistentVolume (PV) dan mencadangkannya untuk PersistentVolumeClaim (PVC) tertentu.
Halaman ini menjelaskan cara membuat PV menggunakan volume yang ada yang terisi dengan data, dan cara menggunakan PV di Pod.
Sebelum memulai
Membuat PersistentVolume untuk volume yang sudah ada
Anda dapat mengimpor volume yang ada dengan menentukan PV baru.
Salin YAML berikut ke dalam file bernama
existing-volume.yaml
:apiVersion: v1 kind: PersistentVolume metadata: name: VOLUME_NAME annotations: pv.kubernetes.io/provisioned-by: disk.csi.azure.com spec: capacity: storage: VOLUME_CAPACITY accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: STORAGE_CLASS_NAME claimRef: name: my-pvc namespace: default csi: driver: disk.csi.azure.com volumeHandle: /subscriptions/SUBSCRIPTION_ID/resourcegroups/RESOURCE_GROUP_NAME/providers/microsoft.compute/disks/DISK_NAME fsType: FILE_SYSTEM_TYPE
Ganti kode berikut:
- VOLUME_NAME: nama untuk volume
- VOLUME_CAPACITY: ukuran volume. Contoh,
30Gi
. Untuk mengetahui informasi selengkapnya tentang cara menentukan kapasitas volume di Kubernetes, lihat Arti memori. STORAGE_CLASS_NAME: nama StorageClass yang menyediakan volume. Misalnya, Anda dapat menggunakan
standard-rwo
default.SUBSCRIPTION_ID: ID langganan Azure yang berisi volume.
RESOURCE_GROUP_NAME: grup resource Azure yang berisi volume.
DISK_NAME: Nama Disk Azure volume.
FS_TYPE: jenis sistem file volume. Misalnya,
ext4
.
Menerapkan YAML ke cluster Anda
kubectl apply -f existing-volume.yaml
Konfirmasi pembuatan PV Anda
kubectl describe pv VOLUME_NAME
Output dari perintah ini berisi status PV.
Menggunakan volume dengan PersistentVolumeClaim dan Pod
Setelah mengimpor volume, Anda dapat membuat PVC dan Pod yang memasang PVC.
YAML berikut membuat PVC dan melampirkannya ke Pod yang menjalankan server web Nginx. Salin ke dalam file bernama
nginx.yaml
:apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc spec: storageClassName: STORAGE_CLASS_NAME volumeName: VOLUME_NAME accessModes: - ACCESS_MODE resources: requests: storage: VOLUME_CAPACITY --- apiVersion: v1 kind: Pod metadata: name: web-server spec: containers: - name: web-server image: nginx volumeMounts: - mountPath: /var/lib/www/html name: data volumes: - name: data persistentVolumeClaim: claimName: my-pvc
Ganti kode berikut:
- STORAGE_CLASS: nama StorageClass dari
PersistentVolume yang Anda buat sebelumnya. Misalnya,
standard-rwo
. - ACCESS_MODE: mode akses volume. Untuk Disk Azure,
gunakan
ReadWriteOnce
. Untuk File Azure, gunakanReadWriteMany
. - VOLUME_CAPACITY: ukuran volume. Contoh,
30Gi
.
- STORAGE_CLASS: nama StorageClass dari
PersistentVolume yang Anda buat sebelumnya. Misalnya,
Menerapkan YAML ke cluster Anda
kubectl apply -f nginx.yaml
Periksa status instance Nginx Anda dengan
kubectl describe
. Output harus memilikiSTATUS
berupaRunning
.kubectl describe pod web-server
Langkah selanjutnya
- Gunakan driver penyimpanan tambahan dengan GKE di Azure.
- Baca dokumentasi untuk driver CSI Azure Disk.