Créer un volume persistant
Cet article présente comment créer un volume persistant en utilisant une authentification par clé de stockage.
Prérequis
Cette section décrit les conditions préalables à la création d’un volume persistant (PV).
Créez un compte de stockage en suivant les instructions indiquées ici.
Remarque
Quand vous créez votre compte de stockage, créez-le sous le même groupe de ressources que votre cluster Kubernetes. Nous vous recommandons également de le créer sous la même région ou le même emplacement que votre cluster Kubernetes.
Créez un conteneur dans le compte de stockage créé à l’étape précédente en suivant les instructions indiquées ici.
Configuration de l’authentification par clé de stockage
Créez un fichier nommé add-key.sh avec le contenu suivant. Les modifications et changements sont inutiles :
#!/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}"
Après la création du fichier, modifiez les autorisations en écriture sur le fichier et exécutez le script d’interpréteur de commandes en utilisant les commandes suivantes. L’exécution de ces commandes crée un secret nommé
{YOUR_STORAGE_ACCOUNT}-secret
. Ce nom de secret est utilisé pour la valeursecretName
lors de la configuration de votre PV :chmod +x add-key.sh ./add-key.sh -g "$YOUR_RESOURCE_GROUP_NAME" -s "$YOUR_STORAGE_ACCOUNT_NAME" -n "$YOUR_KUBERNETES_NAMESPACE"
Créer un volume persistant (PV)
Vous devez créer un volume persistant (PV) pour Cache Volumes afin de créer une instance locale et effectuer une liaison à un compte de stockage BLOB distant.
Notez l’élément metadata: name:
, car vous devez le spécifier dans le volume spec: volumeName
de la revendication de volume persistant (PVC) qui établit une liaison avec lui. Utilisez votre compte de stockage et conteneur créés dans le cadre des conditions préalables.
Créez un fichier nommé 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
Pour appliquer ce fichier .yaml, exécutez :
kubectl apply -f "pv.yaml"