|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
Volumes et stockage
Lors du déploiement d’une application qui doit conserver des données, vous devrez créer un stockage persistant. Le stockage persistant vous permet de stocker des données d’application en dehors du pod exécutant votre application. Cette pratique de stockage vous permet de maintenir les données de l’application, même si le pod de l’application échoue.
Un volume persistant (PV) est une unité de stockage dans le cluster Kubernetes, tandis qu’une demande de volume persistant (PVC) est une requête de stockage. Pour des détails sur le fonctionnement des PV et des PVC, consultez la documentation officielle de Kubernetes sur storage.
K3s, en tant que distribution Kubernetes conforme, utilise le Container Storage Interface (CSI) et le Cloud Provider Interface (CPI) pour gérer le stockage persistant.
Cette page décrit comment configurer un stockage persistant avec un fournisseur de stockage local, ou avec Longhorn.
Configuration du fournisseur de stockage local
K3s est livré avec le Local Path Provisioner de Rancher, ce qui permet de créer des demandes de volume persistant dès le départ en utilisant le stockage local sur le nœud respectif. Ci-dessous, nous couvrons un exemple simple. Pour plus d’informations, veuillez consulter la documentation officielle ici.
Créez une demande de volume persistant basée sur hostPath et un pod pour l’utiliser :
pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: local-path-pvc
namespace: default
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 2Gi
pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: volume-test
namespace: default
spec:
containers:
- name: volume-test
image: nginx:stable-alpine
imagePullPolicy: IfNotPresent
volumeMounts:
- name: volv
mountPath: /data
ports:
- containerPort: 80
volumes:
- name: volv
persistentVolumeClaim:
claimName: local-path-pvc
Appliquez le yaml :
kubectl create -f pvc.yaml
kubectl create -f pod.yaml
Confirmez que le PV et le PVC sont créés :
kubectl get pv
kubectl get pvc
Le statut doit être Lié pour chacun.
Configuration de Longhorn
|
Longhorn ne prend pas en charge ARM32. |
K3s prend en charge Longhorn, un système de stockage de blocs distribué Open Source pour Kubernetes.
Ci-dessous, nous couvrons un exemple simple. Pour plus d’informations, reportez-vous à la documentation officielle.
Appliquez le longhorn.yaml pour installer Longhorn :
kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.8.1/deploy/longhorn.yaml
Longhorn sera installé dans l’espace de noms longhorn-system.
Créez une demande de volume persistant et un pod pour l’utiliser :
pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: longhorn-volv-pvc
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 2Gi
pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: volume-test
namespace: default
spec:
containers:
- name: volume-test
image: nginx:stable-alpine
imagePullPolicy: IfNotPresent
volumeMounts:
- name: volv
mountPath: /data
ports:
- containerPort: 80
volumes:
- name: volv
persistentVolumeClaim:
claimName: longhorn-volv-pvc
Appliquez le yaml pour créer le PVC et le pod :
kubectl create -f pvc.yaml
kubectl create -f pod.yaml
Confirmez que le PV et le PVC sont créés :
kubectl get pv
kubectl get pvc
Le statut doit être Lié pour chacun.