Блог-шпаргалка системного администратора
GLPI в k8s. 02-persistent-volumes
GLPI в k8s. 02-persistent-volumes

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

Едем дальше...

← Назад к списку