Você deve criar um Volume permanente , definindo a Classe de armazenamento como local , em seguida, mapeie-o para o caminho local.
Criando classe de armazenamento
storage-class.yml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
Em seguida, execute
kubectl create -f storage-class.yml
Criando valor persistente
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
Crie um volume persistente executando
kubectl create -f pv-sdc.yml
Por último, crie uma reivindicação de volume persistente
pvc1.yml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc1
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-storage
resources:
requests:
storage: 10Gi
Crie uma classe de volume persistente executando
kubectl create -f pvc1.yml
Para listar valores persistentes, execute
kubectl get pv
. Você deve ver alguma saída como NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
local-pv 10Gi RWO Retain Available local-storage 10s
O volume persistente estará disponível assim que um nó o usar.
Isso post pode ajudá-lo um pouco mais.