Importazione di un volume di dischi Azure esistente

Se hai già un volume disco Azure da utilizzare con GKE su Azure, puoi creare un oggetto PersistentVolume (PV) e riservarlo per una richiesta di volume permanente (PVC) specifica.

Questa pagina spiega come creare un PV utilizzando un volume esistente compilato con dati e come utilizzarlo in un pod.

Prima di iniziare

Creare un volume permanente per un volume preesistente

Puoi importare un volume esistente specificando un nuovo volume permanente.

  1. Copia il seguente YAML in un file denominato 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
    

    Sostituisci quanto segue:

    • VOLUME_NAME: un nome per il volume
    • VOLUME_CAPACITY: la dimensione del volume. Ad esempio, 30Gi. Per ulteriori informazioni su come specificare la capacità del volume in Kubernetes, consulta la sezione Significato della memoria.
    • STORAGE_CLASS_NAME: il nome della classe di archiviazione che provisiona il volume. Ad esempio, puoi utilizzare standard-rwo predefinito.

    • SUBSCRIPTION_ID: l'ID abbonamento Azure contenente il volume.

    • RESOURCE_GROUP_NAME: il gruppo di risorse Azure che contiene il volume.

    • DISK_NAME: il nome del volume del disco Azure.

    • FS_TYPE: il tipo di file system del volume. Ad esempio: ext4.

  2. Applica il file YAML al cluster

    kubectl apply -f existing-volume.yaml
    
  3. Conferma la creazione del PV

    kubectl describe pv VOLUME_NAME
    

    L'output di questo comando contiene lo stato dell'impianto fotovoltaico.

Utilizzare il volume con un oggetto PersistentVolumeClaim e un pod

Dopo aver importato il volume, puoi creare un PVC e un pod che lo monta.

  1. Il seguente codice YAML crea un PVC e lo collega a un pod che esegue il server web Nginx. Copialo in un file denominato 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
    

    Sostituisci quanto segue:

    • STORAGE_CLASS: il nome della classe di archiviazione del volume permanente creato in precedenza. Ad esempio, standard-rwo.
    • ACCESS_MODE: la modalità di accesso del volume. Per Azure Disk, utilizza ReadWriteOnce. Per Azure File, utilizza ReadWriteMany.
    • VOLUME_CAPACITY: la dimensione del volume. Ad esempio, 30Gi.
  2. Applica il file YAML al cluster

    kubectl apply -f nginx.yaml
    
  3. Controlla lo stato dell'istanza Nginx con kubectl describe. L'output dovrebbe avere un STATUS di Running.

    kubectl describe pod web-server
    

Passaggi successivi