Vous devez créer un Volume persistant , définissant la Classe de stockage comme Local , puis mappez-le sur le chemin local.
Création d'une classe de stockage
classe-de-stockage.yml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
Ensuite, exécutez kubectl create -f storage-class.yml
Créer une valeur persistante
pv-local.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /mnt/data
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- cka
Créer un volume persistant en exécutant kubectl create -f pv-sdc.yml
Une dernière réclamation de volume persistante
pvc1.yml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc1
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-storage
resources:
requests:
storage: 10Gi
Créer un volume persistant en exécutant kubectl create -f pvc1.yml
Pour lister les valeurs persistantes, exécutez kubectl get pv
. Vous devriez voir une sortie comme
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
local-pv 10Gi RWO Retain Available local-storage 10s
Le volume persistant sera disponible dès qu'un nœud l'utilisera.
Ceci message peut vous aider un peu plus.