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

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.

  1. 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
  2. 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:

  1. 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
  2. Terapkan YAML ke cluster Anda.

    kubectl apply -f existing-volume.yaml
    
  3. 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.

  1. 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, gunakan ReadWriteMany.
    • VOLUME_CAPACITY: ukuran volume. Contoh, 30Gi.
  2. Terapkan YAML ke cluster Anda.

    kubectl apply -f nginx.yaml
    
  3. Periksa status instance Nginx Anda dengan kubectl describe. Output harus memiliki STATUS berupa Running.

    kubectl describe pod web-server
    
  4. Untuk menghapus Pod, gunakan perintah kubectl delete.

    kubectl delete -f nginx.yaml
    

Langkah selanjutnya