Utiliser des volumes persistants avec AKS activé par Azure Arc
S’applique à : AKS sur Azure Stack HCI 22H2, AKS sur Windows Server
Cet article explique comment approvisionner, utiliser et supprimer des volumes persistants qui fournissent un stockage à long terme pour une utilisation avec des pods Kubernetes dans AKS activés par Azure Arc (AKS Arc).
Un volume persistant représente un élément de stockage qui a été provisionné pour une utilisation avec des pods Kubernetes. Un volume persistant peut être utilisé par un ou plusieurs pods et est destiné au stockage à long terme. Il est également indépendant des cycles de vie des pods ou des nœuds.
Bien que vous puissiez provisionner un volume persistant pour les nœuds Windows et Linux, cet article explique comment créer un volume persistant à utiliser dans votre application Windows. Pour plus d’informations, consultez Volumes persistants dans Kubernetes.
Avant de commencer
Voici ce dont vous avez besoin pour commencer :
- Un cluster Kubernetes avec au moins un nœud Worker Windows
- Un fichier kubeconfig pour accéder au cluster Kubernetes
Créer une revendication de volume persistant
Une revendication de volume persistant (PVC) est utilisée pour configurer automatiquement le stockage basé sur une classe de stockage. Pour créer une revendication de volume, créez tout d’abord un fichier nommé pvc-akshci-csi.yaml
et copiez-y la définition YAML suivante. Le PVC exige un disque d’une taille de 10 Go avec un accès ReadWriteOnce. La classe de stockage default est spécifiée en tant que classe de stockage (vhdx).
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-akshci-csi
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
Pour créer le volume, exécutez les commandes suivantes dans une session PowerShell d’administration sur l’un des serveurs du cluster Azure Stack HCI. Utilisez une méthode telle que Enter-PSSession ou Bureau à distance pour vous connecter au serveur.
kubectl create -f pvc-akshci-csi.yaml
La sortie suivante indique que votre revendication de volume persistant a été créée avec succès :
Sortie :
persistentvolumeclaim/pvc-akshci-csi created
Utiliser le volume persistant
Pour utiliser un volume persistant, créez un fichier winwebserver.yaml
et copiez-y la définition YAML suivante. Créez ensuite un pod avec un accès à la revendication de volume persistant et à vhdx.
Dans la définition YAML suivante, mountPath
est le chemin d’accès pour monter un volume à l’intérieur d’un conteneur. Après une création réussie du pod, vous voyez le sous-répertoire mnt créé dans C :\ et le sous-répertoire akshciscsi créé à l’intérieur de mnt.
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: win-webserver
name: win-webserver
spec:
replicas: 1
selector:
matchLabels:
app: win-webserver
template:
metadata:
labels:
app: win-webserver
name: win-webserver
spec:
containers:
- name: windowswebserver
image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019
ports:
- containerPort: 80
volumeMounts:
- name: akshciscsi
mountPath: "/mnt/akshciscsi"
volumes:
- name: akshciscsi
persistentVolumeClaim:
claimName: pvc-akshci-csi
nodeSelector:
kubernetes.io/os: windows
Pour créer un pod avec la définition YAML ci-dessus, exécutez :
kubectl create -f winwebserver.yaml
Pour vous assurer que le pod est en cours d’exécution, exécutez la commande suivante. Patientez quelques minutes jusqu’à ce que le pod soit en cours d’exécution, car l’extraction de l’image prend du temps :
kubectl get pods -o wide
Lorsque votre pod est en cours d’exécution, affichez l’état du pod en exécutant la commande suivante :
kubectl.exe describe pod %podName%
Pour vérifier que votre volume a été monté dans le pod, exécutez la commande suivante :
kubectl exec -it %podname% cmd.exe
Supprimer une revendication de volume persistant
Avant de supprimer une revendication de volume persistant, vous devez supprimer le déploiement d’application en exécutant la commande suivante :
kubectl delete deployments win-webserver
Vous pouvez ensuite supprimer une revendication de volume persistant en exécutant :
kubectl delete PersistentVolumeClaim pvc-akshci-csi
Étapes suivantes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour