Dela via


Skapa en beständig volym (förhandsversion)

I den här artikeln beskrivs hur du skapar en beständig volym med hjälp av lagringsnyckelautentisering.

Förutsättningar

I det här avsnittet beskrivs kraven för att skapa en beständig volym (PV).

  1. Skapa ett lagringskonto enligt anvisningarna här.

    Kommentar

    När du skapar ditt lagringskonto skapar du det under samma resursgrupp och region/plats som ditt Kubernetes-kluster.

  2. Skapa en container i lagringskontot som du skapade i föregående steg genom att följa anvisningarna här.

Konfiguration av autentisering av lagringsnyckel

  1. Skapa en fil med namnet add-key.sh med följande innehåll. Inga ändringar krävs:

    #!/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. När du har skapat filen ändrar du skrivbehörigheterna för filen och kör shell-skriptet med hjälp av följande kommandon. När du kör dessa kommandon skapas en hemlighet med namnet {YOUR_STORAGE_ACCOUNT}-secret. Det här hemliga namnet används för värdet secretName när du konfigurerar din PV:

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

Skapa beständig volym (PV)

Du måste skapa en beständig volym (PV) för Edge Storage Accelerator för att skapa en lokal instans och binda till ett fjärr-BLOB Storage-konto.

Observera som metadata: name: du måste ange i spec: volumeName den PVC som binder till den. Använd ditt lagringskonto och din container som du skapade som en del av förutsättningarna.

  1. Skapa en fil med namnet 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. Om du vill tillämpa den här .yaml-filen kör du:

    kubectl apply -f "pv.yaml"
    

Nästa steg