Установка Local Storage#
Подготовить место на хранилище#
- Зайти на Worker noade по SSH;
- Убедиться, что места на хранилище достаточно (
df -h) - Создать папку для данных:
sudo mkdir -p /mnt/my-app-dataОпределить и создать PersistentVolume (PV)#
Создать манифест my-pv.yaml :
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-app-pv
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/my-app-data"storageClassName: manual: имя класса. Использование несуществующего имени заставляет вручную провести связку между PV и PVC;capacity: размер хранилища (volume);accessModes:ReadWriteOnceозначает, что 1 узел подключает хранилище как read-write;hostPath: путь до хранилища, созданного ранее.
Применить манифест и проверить:
kubectl apply -f my-pv.yaml
kubectl get pvДолжен появиться my-app-pv со статусом STATUS = Available
Определить и создать PersistentVolumeClaim (PVC)#
Создать манифест my-pvc.yaml :
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-app-pvc
spec:
storageClassName: manual
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1GiПрименить манифест и проверить:
kubectl apply -f my-pvc.yaml
kubectl get pvc
kubectl get pvСтатус PVC STATUS должен быть Bound, и у PV STATUS должен стать Bound. Теперь они связаны.