Udostępnij za pośrednictwem


Tworzenie woluminu trwałego (wersja zapoznawcza)

W tym artykule opisano sposób tworzenia woluminu trwałego przy użyciu uwierzytelniania klucza magazynu.

Wymagania wstępne

W tej sekcji opisano wymagania wstępne dotyczące tworzenia woluminu trwałego (PV).

  1. Utwórz konto magazynu zgodnie z instrukcjami podanymi tutaj.

    Uwaga

    Podczas tworzenia konta magazynu utwórz je w tej samej grupie zasobów i regionie/lokalizacji co klaster Kubernetes.

  2. Utwórz kontener na koncie magazynu utworzonym w poprzednim kroku, postępując zgodnie z instrukcjami podanymi tutaj.

Konfiguracja uwierzytelniania klucza magazynu

  1. Utwórz plik o nazwie add-key.sh z następującą zawartością. Nie są konieczne żadne zmiany lub zmiany:

    #!/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. Po utworzeniu pliku zmień uprawnienia do zapisu w pliku i wykonaj skrypt powłoki przy użyciu następujących poleceń. Uruchomienie tych poleceń powoduje utworzenie wpisu tajnego o nazwie {YOUR_STORAGE_ACCOUNT}-secret. Ta nazwa wpisu tajnego secretName jest używana dla wartości podczas konfigurowania pv:

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

Tworzenie woluminu trwałego (PV)

Należy utworzyć wolumin trwały (PV) dla akceleratora magazynu usługi Edge, aby utworzyć wystąpienie lokalne i powiązać je ze zdalnym kontem magazynu obiektów blob.

Należy pamiętać, metadata: name: jak należy określić go w spec: volumeName pcv, który wiąże się z nim. Użyj konta magazynu i kontenera utworzonego w ramach wymagań wstępnych.

  1. Utwórz plik o nazwie 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. Aby zastosować ten plik yaml, uruchom polecenie:

    kubectl apply -f "pv.yaml"
    

Następne kroki