Skapa en beständig volym
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).
Skapa ett lagringskonto enligt anvisningarna här.
Kommentar
När du skapar ditt lagringskonto skapar du det under samma resursgrupp som ditt Kubernetes-kluster. Vi rekommenderar att du även skapar den under samma region/plats som ditt Kubernetes-kluster.
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
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}"
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ärdetsecretName
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 cachevolymer för att skapa en lokal instans och binda till ett fjärr-BLOB-lagringskonto.
Anteckna 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.
Skapa en fil med namnet 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
Om du vill tillämpa den här .yaml-filen kör du:
kubectl apply -f "pv.yaml"