Menggunakan Azure Fileshare
GKE di Azure mendukung pemasangan file 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 bagian yang dibagikan yang sudah diisi dengan data, dan cara menggunakan PV di Pod.
Sebelum memulai
- Menghubungkan ke cluster
- Memiliki akses ke atau buat Azure Fileshare. 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 secara Secret. Jika belum membuat Secret di cluster, Anda harus menambahkannya. Jika Anda memiliki Secret ini di cluster, lanjutkan ke bagian Membuat PersistentVolume untuk pembagian 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 penyimpanan Azure Anda
Terapkan file tersebut ke cluster Anda dengan alat
kubectl
:kubectl apply -f azure-service-account-key.yaml
Membuat PersistentVolume untuk bagian yang sudah ada
Anda mengimpor Azure Fileshare yang ada dengan menentukan PV baru di cluster. 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, yang diformat sebagai string
dari
RESOURCE_GROUP_NAME#STORAGE_ACCOUNT_NAME#FILESHARE_NAME#
dengan - FILE_SHARE_NAME: nama Azure File share
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 Rahasia
- 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 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,
Terapkan 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
Untuk menghapus Pod, gunakan perintah
kubectl delete
.kubectl delete -f nginx.yaml
Langkah selanjutnya
- Gunakan driver penyimpanan tambahan dengan GKE di Azure.
- Baca dokumentasi untuk driver CSI File Azure.