Перейти к содержанию

Архитектура хранения

·1 минута·
Система хранения Sigil Gate состоит из двух слоёв: оперативного KV-хранилища (etcd) на управляющем кластере и Git-репозитория как источника истины. В отличие от предыдущей архитектуры, etcd больше не размещается на Core-нодах.

Два слоя хранения #

СлойКомпонентНазначение
ОперативныйetcdТекущее состояние сети, маршруты, статусы, быстрое чтение
ДолгосрочныйGit-репозиторийИсточник истины, версионирование, аудит, восстановление
graph TD Git["Git-репозиторий\n(источник истины)"] KV["etcd\n(управляющий кластер)"] Mgmt["Управляющий кластер"] Entry["Entry-поды"] Core["Core-ноды"] Git <-->|"синхронизация"| Mgmt Mgmt -->|"чтение / запись"| KV Entry -->|"только чтение"| KV Core -.->|"нет прямого доступа"| KV style Git fill:#374151,color:#fff,stroke:#1f2937 style KV fill:#374151,color:#fff,stroke:#1f2937 style Mgmt fill:#7c3aed,color:#fff,stroke:#6d28d9 style Entry fill:#0891b2,color:#fff,stroke:#0e7490 style Core fill:#1d4ed8,color:#fff,stroke:#1e40af

Права доступа #

УзелetcdGit
Управляющий кластерЧтение / запись (полный доступ)Чтение / запись
Entry-подТолько чтение (маршруты, конфигурации)Нет доступа
Core-нодаНет прямого доступаНет доступа

Core-нода получает конфигурацию только через phone-home канал — управляющий кластер доставляет ей нужные данные из etcd. Прямого подключения Core-ноды к etcd нет.

Ключевые принципы #

  • Централизованность etcd — хранилище находится только на управляющем кластере. Core-ноды больше не участвуют в кластере etcd.
  • Git как страховка — при полной потере управляющего кластера сеть восстанавливается из Git-репозитория.
  • Stateless Entry — Entry-поды не кешируют данные между сессиями. Вся информация — в etcd.
  • Изоляция Core-нод — Core-ноды не имеют доступа ни к etcd, ни к Git. Данные получают только через управляющий кластер.