GLPI в k8s. 02-persistent-volumes
PersistentVolume (PV) в Kubernetes - это ресурс кластера, представляющий собой часть сетевого хранилища, которая существует независимо от жизненного цикла отдельных Pod'ов. Если обычный том (Volume) в Pod'е живет и умирает вместе с ним, то данные в PV сохраняются даже после удаления или перезапуска Pod'а. PersistentVolume - это фундамент для запуска stateful-приложений (баз данных, очередей, файловых хранилищ) в Kubernetes. Он позволяет данным переживать пересоздание Pod'ов.
Предлагаю раскидать базёнку и приложуху по разным нодам. На k8s-wn01 создаём структуру папок
mkdir -p glpi/app
а на k8s-wn02
mkdir -p glpi/mariadb
Так как у нас процесс обучения, то с правами не станем заморачиваться, а въебём на созданные выше папки три семёрки. Да простят меня ИБ'шники
На обеих нодах скомандуем
chmod 777 glpi -R
Создаём файл 02-persistent-volumes.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: glpi-mariadb-pv
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: "/home/<имя_пользователя>/glpi/mariadb"
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: glpi-app-pv
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
hostPath:
path: "/home/<имя_пользователя>/glpi/app"
Применяем
kubectl apply -f 02-persistent-volumes.yaml
Посмотрим что получилось командой
kubectl get persistentvolumes -n glpi
либо
kubectl get persistentvolumes -n glpi -o yaml
Едем дальше...