Георезервирование в контексте катастрофоустойчивости Deckhouse Kubernetes Platform (DKP) — метод повышения отказоустойчивости, при котором несколько независимых кластеров Kubernetes объединяются в единую мультикластерную систему (мультикластер), распределённую по разным географическим локациям.
DKP предлагает разные инструменты для объединения нескольких кластеров в мультикластер. Это обеспечивает автоматическую маршрутизацию трафика (внешнего и внутреннего) в другой кластер с доступной копией приложения, если оно недоступно в исходном.
Кластеры можно объединить:
- с помощью встроенного Service Mesh на основе Istio,
- с использованием сетевого функционала DKP на базе Cilium.
Для включения функции мультикластер необходимо развернуть по одному кластеру с DKP в каждом регионе, а затем объединить их используя декларативный API. Важно, чтобы приложение могло работать параллельно в разных регионах, а также чтобы между регионами существовал стабильный сетевой канал. Правильно настроенная система обеспечивает глобальную катастрофоустойчивость приложения, гарантируя его бесперебойную работу даже при выходе из строя целого региона или облака.
Процесс объединения нескольких кластеров в мультикластер описан в разделе Межкластерное взаимодействие.
Балансировка входящего трафика в мультикластере
Для обеспечения катастрофоустойчивости в мультикластере может быть реализована балансировка входящего трафика внешним балансировщиком по одной из схем: active-active
или active-standby
. Балансировка настраивается администратором кластера.
Балансировка по схеме active-active
При использовании схемы active-active
внешний балансировщик распределяет трафик между несколькими активными кластерами, например, по географическому признаку или на основе текущей загрузки.
Особенности балансировки по схеме active-active
:
- Все кластеры в мультикластере обрабатывают трафик одновременно.
- Трафик направляется в ближайший к клиенту, наименее загруженный кластер или используются иные правила.
- Общие данные реплицируются между кластерами.
- При сбое одного кластера трафик переключается на работающие (автоматический failover).
Балансировка по схеме active-standby
При использовании схемы active-standby
внешний балансировщик направляет трафик в кластер, который активен в данный момент. Неактивный кластер является резервным, трафик в него будет направлен, если основной кластер будет недоступен.
Особенности балансировки по схеме active-standby
:
- Активный кластер принимает весь трафик.
- Резервный кластер бездействует до момента сбоя основного.
- Переключение трафика с активного на резервный кластер (failover) происходит автоматически при обнаружении проблем.
Организация хранилища в мультикластере
За организацию и настройку хранилища в мультикластере отвечает администратор. В DKP поддерживаются разные системы хранения (хранилища). Выбор подходящего варианта зависит от требований к производительности, отказоустойчивости и способам синхронизации данных. Подробнее о системах хранения, их особенностях и настройке — в разделе Хранение.