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.
Konfiguration der Speicherschlüsselauthentifizierung
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}"
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:
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.
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
Führen Sie Folgendes aus, um die YAML-Datei zu verwenden:
Erfahren Sie mehr über die Möglichkeiten, ein Azure-Speicherkonto zum Verwalten Ihrer Daten für Abrechnung, für Zugriff und als Speicherort Ihrer Blobs, Dateien, Warteschlangen und Tabellen zu verwenden.
Erfahren Sie, wie Sie Ihre App mithilfe des Azure IoT Einsatz-Datenprozessors oder der nativen Kubernetes-Anwendung in Azure Container Storage-Cachevolumes mit Azure Arc-Unterstützung anfügen.