Freigeben über


Klonen persistenter Volumes in Azure Container Storage

Sie können persistente Volumes in Azure Container Storageklonen. Ein geklontes Volumen ist ein Duplikat eines vorhandenen persistenten Kubernetes-Volumens. Sie können nur Volumes derselben Größe klonen, die sich im selben Speicherpool befinden.

Voraussetzungen

  • Für diesen Artikel ist die aktuelle Azure CLI-Version (mindestens Version 2.35.0) erforderlich. Weitere Informationen finden Sie unter Installieren der Azure-Befehlszeilenschnittstelle. Bei Verwendung von Azure Cloud Shell ist die aktuelle Version bereits installiert. Wenn Sie die Befehle nicht in Azure Cloud Shell, sondern lokal ausführen möchten, führen Sie sie mit Administratorrechten aus.
  • Sie benötigen einen AKS (Azure Kubernetes Service)-Cluster mit einem Knotenpool von mindestens drei virtuellen Computern (VMs) für die Clusterknoten mit jeweils mindestens vier virtuellen CPUs (vCPUs).
  • In diesem Artikel wird vorausgesetzt, dass Sie Azure Container Storage bereits in Ihrem AKS-Cluster installiert und entweder über Azure Disks oder mit einem kurzlebigen Datenträger (lokaler Speicher) einen Speicherpool und einen Anspruch auf persistente Volumes (Persistent Volume Claim, PVC) erstellt haben. Azure Elastic SAN unterstützt keine Größenänderung bei Volumes.

Volume klonen

Befolgen Sie die folgenden Anweisungen, um ein persistentes Volume zu klonen.

  1. Verwenden Sie Ihren bevorzugten Text-Editor, um eine YAML-Manifestdatei wie code acstor-clonevolume.yaml zu erstellen.

  2. Fügen Sie den folgenden Code ein, und speichern Sie die Datei. Eine integrierte Speicherklasse unterstützt das Klonen von Volumes. Achten Sie daher für dataSource darauf, auf einen PVC zu verweisen, der zuvor von der Azure Container Storage-Speicherklasse erstellt wurde. Wenn Sie z. B. den PVC für Azure-Datenträger erstellt haben, kann er als azurediskpvc bezeichnet werden. Geben Sie für Speicher die Größe des ursprünglichen PVC an.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-acstor-cloning
    spec:
      accessModes:
        - ReadWriteOnce
      storageClassName: acstor-azuredisk
      resources:
        requests:
          storage: 100Gi
      dataSource:
        kind: PersistentVolumeClaim
        name: azurediskpvc
    
  3. Wenden Sie die YAML-Manifestdatei an, um den PVC zu klonen.

    kubectl apply -f acstor-clonevolume.yaml 
    

    Eine ähnliche Ausgabe wie die folgende sollte angezeigt werden:

    persistentvolumeclaim/pvc-acstor-cloning created
    
  4. Verwenden Sie Ihren bevorzugten Text-Editor, um eine YAML-Manifestdatei wie code acstor-pod.yaml zu erstellen.

  5. Fügen Sie den folgenden Code ein, und speichern Sie die Datei. Achten Sie für claimName darauf, auf den geklonten PVC zu verweisen.

    kind: Pod
    apiVersion: v1
    metadata:
      name: fiopod2
    spec:
      nodeSelector:
        acstor.azure.com/io-engine: acstor
      volumes:
        - name: azurediskpv
          persistentVolumeClaim:
            claimName: pvc-acstor-cloning
      containers:
        - name: fio
          image: nixery.dev/shell/fio
          args:
            - sleep
            - "1000000"
          volumeMounts:
            - mountPath: "/volume"
              name: azurediskpv
    
  6. Wenden Sie die YAML-Manifestdatei an, um den neuen Pod bereitzustellen.

    kubectl apply -f acstor-pod.yaml
    

    Die Ausgabe sollte etwa folgendermaßen aussehen:

    pod/fiopod2 created
    
  7. Überprüfen Sie, ob der Pod ausgeführt wird und dass der Anspruch auf persistentes Volume erfolgreich an den Pod gebunden wurde:

    kubectl describe pod fiopod2
    kubectl describe pvc azurediskpvc
    

Siehe auch