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.

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

  2. Menerapkan YAML ke cluster Anda

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

  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. Menerapkan 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
    

Langkah selanjutnya