Share via


Een permanent volume maken (preview)

In dit artikel wordt beschreven hoe u een permanent volume maakt met behulp van verificatie van opslagsleutels.

Vereisten

In deze sectie worden de vereisten beschreven voor het maken van een permanent volume (HW).

  1. Maak hier een opslagaccount volgens de instructies.

    Notitie

    Wanneer u uw opslagaccount maakt, maakt u dit onder dezelfde resourcegroep en regio/locatie als uw Kubernetes-cluster.

  2. Maak een container in het opslagaccount dat u in de vorige stap hebt gemaakt en volg de instructies hier.

Configuratie van verificatie van opslagsleutels

  1. Maak een bestand met de naam add-key.sh met de volgende inhoud. Er zijn geen wijzigingen of wijzigingen nodig:

    #!/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. Nadat u het bestand hebt gemaakt, wijzigt u de schrijfmachtigingen voor het bestand en voert u het shellscript uit met behulp van de volgende opdrachten. Als u deze opdrachten uitvoert, wordt een geheim met de naam {YOUR_STORAGE_ACCOUNT}-secretgemaakt. Deze geheime naam wordt gebruikt voor de waarde bij het secretName configureren van uw HW:

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

Permanent volume maken (HW)

U moet een permanent volume (HW) maken voor de Edge Storage Accelerator om een lokaal exemplaar te maken en verbinding te maken met een extern BLOB-opslagaccount.

Noteer de metadata: name: waarde die u moet opgeven in het spec: volumeName PVC dat eraan bindt. Gebruik uw opslagaccount en container die u hebt gemaakt als onderdeel van de vereisten.

  1. Maak een bestand met de naam pv.yaml:

    apiVersion: v1
    kind: PersistentVolume
    metadata:
        ### Create a name here ###
        name: CREATE_A_NAME_HERE
        ### Use a namespace that matches your intended consuming pod, or "default" ###
        namespace: INTENDED_CONSUMING_POD_OR_DEFAULT_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. Voer het volgende uit om dit YAML-bestand toe te passen:

    kubectl apply -f "pv.yaml"
    

Volgende stappen