Подготовка кластера Kubernetes

Подготовка кластера Kubernetes#

Перед добавлением кластера Kubernetes в Кибер Бэкап Облачный подготовьте его, как описано далее.

Требования к CSI-драйверу

Для создания моментальных снимков томов в кластере Kubernetes должен быть установлен CSI-драйвер с поддержкой функции Snapshot.

Для резервного копирования томов в хранилище Кибер Бэкап Облачный CSI-драйвер должен поддерживать функцию Raw Block. Если используемый CSI-драйвер её не поддерживает, добавьте следующую аннотацию в связанные с ним объекты VolumeSnapshotClass:

kubectl annotate volumesnapshotclass <volume_snapshot_class_name> cyberprotect.ru/convert-to-block-mode=false

В этой команде <volume_snapshot_class_name> — имя класса моментальных снимков томов (VolumeSnapshotClass) в кластере Kubernetes, для которого необходимо отключить конвертацию в блочный режим.

Список CSI-драйверов и сведения о поддерживаемых ими функциях см. в документации Kubernetes.

Установка контроллера моментальных снимков томов

Установите контроллер моментальных снимков томов, если он ещё не установлен. Сведения об установке см. в статье. Подробные сведения о моментальных снимках томов см. в документации Kubernetes.

В процессе добавления кластера в веб-консоль управления агент для Kubernetes проверяет наличие установленного контроллера с помощью запроса в API-интерфейс Kubernetes, аналогичного следующей команде:

kubectl get volumesnapshots -n kube-system

В случае успешного выполнения запроса считается, что контроллер установлен.

Если в кластере есть несколько классов моментальных снимков томов (VolumeSnapshotClass), то каждый класс хранилища (StorageClass) необходимо привязать к одному из них с помощью аннотации:

kubectl annotate storageclass <storage_class_name> cyberprotect.ru/volume-snapshot-class=<volume_snapshot_class_name>

В этой команде:

  • <storage_class_name> — имя класса хранилища;

  • <volume_snapshot_class_name> — имя класса моментальных снимков томов.

Примечание

В классе моментальных снимков томов, который использует агент для Kubernetes, в поле deletionPolicy должно быть установлено значение Delete. Если установлено другое значение, агент для Kubernetes автоматически создаст и будет использовать копию этого класса со значением Delete.