Freigeben über


Erstellen eines persistenten Volumes (Vorschau)

In diesem Artikel wird beschrieben, wie Sie ein persistentes Volume mithilfe der Speicherschlüsselauthentifizierung erstellen.

Voraussetzungen

In diesem Abschnitt werden die Voraussetzungen für die Erstellung eines persistenten Volumes (PV) beschrieben.

  1. Erstellen Sie ein Speicherkontos, indem Sie den Anweisungen hier folgen.

    Hinweis

    Wenn Sie Ihr Speicherkonto erstellen, erstellen Sie es unter derselben Ressourcengruppe wie Ihr Kubernetes-Cluster. Es wird empfohlen, es auch in derselben Region/am selben Standort wie Ihr Kubernetes-Cluster zu erstellen.

  2. Erstellen Sie einen Container in dem Speicherkonto, das Sie im vorherigen Schritt erstellt haben, indem Sie den Anweisungen hier folgen.

Konfiguration der Speicherschlüsselauthentifizierung

  1. Erstellen Sie eine Datei namens add-key.sh mit folgendem Inhalt. Es sind keine Bearbeitungen oder Änderungen erforderlich:

    #!/usr/bin/env bash
    
    while getopts g:n:s: flag
    do
        case "${flag}" in
            g) RESOURCE_GROUP=${OPTARG};;
            s) STORAGE_ACCOUNT=${OPTARG};;
            n) NAMESPACE=${OPTARG};;
        esac
    done
    
    SECRET=$(az storage account keys list -g $RESOURCE_GROUP -n $STORAGE_ACCOUNT --query [0].value --output tsv)
    
    kubectl create secret generic -n "${NAMESPACE}" "${STORAGE_ACCOUNT}"-secret --from-literal=azurestorageaccountkey="${SECRET}" --from-literal=azurestorageaccountname="${STORAGE_ACCOUNT}"
    
  2. Nachdem Sie die Datei erstellt haben, ändern Sie die Schreibberechtigungen für die Datei und führen Sie das Shellskript mithilfe der folgenden Befehle aus. Wenn Sie diese Befehle ausführen, wird ein Geheimnis namens {YOUR_STORAGE_ACCOUNT}-secreterstellt. Dieses Geheimnis wird beim Konfigurieren Ihres PV für den Wert secretName verwendet:

    chmod +x add-key.sh
    ./add-key.sh -g "$YOUR_RESOURCE_GROUP_NAME" -s "$YOUR_STORAGE_ACCOUNT_NAME" -n "$YOUR_KUBERNETES_NAMESPACE"
    

Erstellen eines persistenten Volumes (PV)

Sie müssen ein persistentes Volume (PV) für Cachevolumes erstellen, um eine lokale Instanz zu erstellen und eine Bindung an ein Remote-BLOB-Speicherkonto herzustellen.

Notieren Sie sich den metadata: name:, da Sie ihn im spec: volumeName des PVC angeben müssen, das an ihn gebunden ist. Wählen Sie Ihr Speicherkonto und den Container aus, die Sie als Teil der Voraussetzungen erstellt haben.

  1. Erstellen Sie eine Datei namens pv.yaml:

    apiVersion: v1
    kind: PersistentVolume
    metadata:
        ### Create a name here ###
        name: CREATE_A_NAME_HERE
    spec:
        capacity:
            ### This storage capacity value is not enforced at this layer. ###
            storage: 10Gi
        accessModes:
            - ReadWriteMany
        persistentVolumeReclaimPolicy: Retain
        storageClassName: esa
        csi:
            driver: edgecache.csi.azure.com
            readOnly: false
            ### Make sure this volumeid is unique in the cluster. You must specify it in the spec:volumeName of the PVC. ###
            volumeHandle: YOUR_NAME_FROM_METADATA_NAME_IN_LINE_4_HERE
            volumeAttributes:
                protocol: edgecache
                edgecache-storage-auth: AccountKey
                ### Fill in the next two/three values with your information. ###
                secretName: YOUR_SECRET_NAME_HERE ### From the previous step, this name is "{YOUR_STORAGE_ACCOUNT}-secret" ###
                ### If you use a non-default namespace, uncomment the following line and add your namespace. ###
                ### secretNamespace: YOUR_NAMESPACE_HERE
                containerName: YOUR_CONTAINER_NAME_HERE
    
  2. Führen Sie Folgendes aus, um die YAML-Datei zu verwenden:

    kubectl apply -f "pv.yaml"
    

Nächste Schritte