Отказоустойчивость управляющего слоя
Архитектура Data Platform обеспечивает работоспособность управляющего слоя при отказе одной зоны доступности (AZ):
- кластер Kubernetes развертывается минимум в двух зонах доступности;
- компоненты управляющего слоя размещаются в разных зонах доступности;
- состояние управляющего слоя хранится в отказоустойчивом кластере Cloud PostgreSQL;
- сервисы Data Platform развертываются минимум в двух репликах.
Чтобы обеспечить отказоустойчивость при выходе из строя отдельного узла кластера Kubernetes, компоненты управляющего слоя Data Platform используют следующие механизмы:
- Anti-affinity — размещает поды одного приложения на разных физических машинах в пределах зоны.
- Topology Spread Constraints — равномерно распределяет реплики компонентов по зонам, чтобы реплики одного сервиса не оказались в одной зоне. Каждый критичный сервис использует минимум две реплики (по числу зон доступности).
- PodDisruptionBudget — обеспечивает доступность реплик сервиса при обновлениях кластера.
При отказе зоны доступности Kubernetes пересоздает поды в работоспособных зонах. Компонент считается доступным, если после отказа зоны остается хотя бы одна работоспособная реплика в другой зоне. При восстановлении зоны доступности инфраструктура Kubernetes автоматически перераспределяет поды согласно топологии.
Конфигурация механизмов отказоустойчивости для компонентов приведена в разделах:
Столбцы Anti-affinity, Топология и PDB соответствуют описанным механизмам. Если механизмы отключены, их можно включить в Helm-чарте.
Компоненты Data Platform отказоустойчивы по умолчанию — дополнительная настройка не требуется.
Компонент | Anti-affinity | Топология | PDB | Число реплик |
|---|---|---|---|---|
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Отключен | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
Инфраструктурные компоненты обеспечивают вспомогательные функции (управление сертификатами, мониторинг, сбор логов, хранение, сеть, DNS). При их отказе работа Data Platform не блокируется. При необходимости включите отказоустойчивость в Helm-чарте.
Компонент | Anti-affinity | Топология | PDB | Число реплик |
|---|---|---|---|---|
| Отключен | Отключен | Отключен | 1 |
| Отключен | Отключен | Отключен | 1 |
| Отключен | Отключен | Отключен | 1 |
| Отключен | Не поддерживается | Не поддерживается | 1 |
| Отключен | Отключен | Отключен | 1 |
| Отключен | Отключен | Отключен | 1 |
| Не поддерживается | Не поддерживается | Не поддерживается | 1 |
| Не поддерживается | Не поддерживается | Не поддерживается | 1 |
| Не поддерживается | Отключен | Отключен | 1 |
| Неприменим | Неприменим | Отключен | 3 |
| Неприменим | Неприменим | Не поддерживается | 3 |
| Не поддерживается | Отключен | Не поддерживается | 1 |
| Неприменим | Неприменим | Не поддерживается | 3 |
| Отключен | Отключен | Не поддерживается | 2 |
| Неприменим | Неприменим | Не поддерживается | 3 |
| Неприменим | Неприменим | Не поддерживается | 3 |
| Не поддерживается | Отключен | Не поддерживается | 1 |
Основные компоненты CIAM, кроме ciam-access-agent, отказоустойчивы по умолчанию.
Компонент | Anti-affinity | Топология | PDB | Число реплик |
|---|---|---|---|---|
| Не поддерживается | Не поддерживается | Не поддерживается | 1 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Отключен | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
| Включен | Включен | Не поддерживается | 2 |
Кластер Cloud PostgreSQL состоит из одного основного узла и двух реплик, размещенных в разных зонах доступности. При его отказе роль основного узла автоматически переходит к одной из реплик. Отказ одной реплики не влияет на доступность кластера.