>_ IzzyLab

Практическое задание

k8s: StatefulSet с томами

сложно

В /root/sts.yaml лежит StatefulSet db (образ postgres, 2 реплики), но без постоянного хранилища — при перезапуске пода данные потеряются. Доработай манифест: добавь volumeClaimTemplates (PVC data на 1Gi), смонтированный в /var/lib/postgresql/data.

Что потренируешь:
  • kubernetes
  • statefulset
  • volumeclaimtemplates
  • pvc
  • постоянное хранилище

Разбор темы

StatefulSet — контроллер для приложений с состоянием (базы данных): он даёт подам стабильные имена и, что важно, персистентное хранилище через volumeClaimTemplates. Это не готовый PVC, а ШАБЛОН: Kubernetes создаёт по отдельному тому на каждый под (data-db-0, data-db-1), и каждый под сохраняет именно свой том между перезапусками. Шаблон описывается как спецификация PVC — accessModes и запрос объёма в resources.requests.storage. Отдельно контейнеру нужен volumeMounts, монтирующий этот том в каталог данных приложения, иначе объявленное хранилище никуда не подключится.

Что проверяется

  1. манифест валиден (kubeconform)
  2. kind = StatefulSet
  3. volumeClaimTemplates с PVC data

Как это выглядит