Menggunakan berbagi File Azure
GKE di Azure mendukung pemasangan share Azure Files. Jika sudah memiliki berbagi File 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 share yang sudah ada yang diisi dengan data, dan cara menggunakan PV di sebuah Pod.
Sebelum memulai
- Menghubungkan ke cluster Anda
- Memiliki akses ke atau membuat berbagi File Azure. Untuk mengetahui informasi selengkapnya, lihat Membuat berbagi file Azure.
Menyimpan informasi akun penyimpanan Azure Anda
GKE di Azure menyimpan informasi untuk mengakses akun penyimpanan Azure Anda di Secret. Jika Anda belum membuat Secret di cluster, Anda harus menambahkannya. Jika Anda memiliki Secret ini di cluster, lanjutkan ke Membuat PersistentVolume untuk berbagi yang sudah ada.
Untuk membuat Secret, salin manifes berikut ke dalam file bernama 'azure-service-account-key.yaml'.
--- apiVersion: v1 kind: Secret metadata: name: azure-secret-account-key type: Opaque stringData: accountname: STORAGE_ACCOUNT_NAME accountkey: STORAGE_ACCOUNT_KEY
Ganti kode berikut:
- STORAGE_ACCOUNT_NAME: nama akun penyimpanan Azure Anda
- STORAGE_ACCOUNT_KEY: kunci akun Azure Storage Anda
Terapkan file ke cluster Anda dengan alat
kubectl
:kubectl apply -f azure-service-account-key.yaml
Membuat PersistentVolume untuk berbagi yang sudah ada
Anda mengimpor berbagi File Azure yang ada dengan menentukan PV baru di cluster Anda. Untuk membuat PV, lakukan hal berikut:
Salin YAML berikut ke dalam file bernama
existing-volume.yaml
:apiVersion: v1 kind: PersistentVolume metadata: name: VOLUME_NAME spec: capacity: storage: VOLUME_CAPACITY storageClassName: standard-rwx accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain csi: driver: file.csi.azure.com readOnly: false volumeHandle: VOLUME_ID
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. - VOLUME_ID: ID unik untuk volume, diformat sebagai string
dari
RESOURCE_GROUP_NAME#STORAGE_ACCOUNT_NAME#FILESHARE_NAME#
dengan - FILE_SHARE_NAME: nama berbagi File Azure
Jika akun penyimpanan Anda berada di grup resource yang berbeda dengan cluster, Anda perlu menambahkan referensi ke Secret yang berisi kunci akun penyimpanan Anda. Untuk menambahkan referensi, sisipkan kode berikut di bagian
spec.csi
:# Optional. Only required if your storageAccount is in a different resource group than the cluster. nodeStageSecretRef: name: NODE_STAGE_SECRET_NAME namespace: NODE_STAGE_SECRET_NAMESPACE
Ganti kode berikut:
- NODE_STAGE_SECRET_NAME: nama Secret
- NODE_STAGE_SECRET_NAMESPACE Namespace yang berisi Secret
Terapkan YAML ke cluster Anda.
kubectl apply -f existing-volume.yaml
Konfirmasi pembuatan PV Anda dengan
kubectl describe pv
.kubectl describe pv VOLUME_NAME
Output perintah ini berisi status PV.
Menggunakan volume dengan PersistentVolumeClaim dan Pod
Setelah mengimpor volume, Anda dapat membuat PVC dan Pod yang me-mount 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. Contoh,
standard-rwo
. - ACCESS_MODE: mode akses volume. Untuk Azure Disk,
gunakan
ReadWriteOnce
. Untuk Azure File, gunakanReadWriteMany
. - VOLUME_CAPACITY: ukuran volume. Contoh,
30Gi
.
- STORAGE_CLASS: nama StorageClass dari
PersistentVolume yang Anda buat sebelumnya. Contoh,
Terapkan YAML ke cluster Anda.
kubectl apply -f nginx.yaml
Periksa status instance Nginx Anda dengan
kubectl describe
. Output harus memilikiSTATUS
Running
.kubectl describe pod web-server
Untuk menghapus Pod, gunakan perintah
kubectl delete
.kubectl delete -f nginx.yaml
Langkah berikutnya
- Gunakan driver penyimpanan tambahan dengan GKE di Azure.
- Baca dokumentasi untuk driver CSI Azure File.