Архитектура self-hosted развёртывания
KnotRoute разделён на data plane и management plane. Это ключ к нормальной эксплуатации.
Data plane
Заголовок раздела «Data plane»Сюда относятся node, Beacon relay, relays, circuits, directory и sidecars. Они должны продолжать работать без Control.
Management plane
Заголовок раздела «Management plane» Control / | \ Agent Agent Agent | | | Docker Docker DockerControl хранит inventory, network profiles, jobs и onboarding information. Agent выполняет ограниченные management operations на конкретном host.
Рекомендуемый старт production-сети
Заголовок раздела «Рекомендуемый старт production-сети»Минимальная практичная база:
- отдельный non-default
network_id; - 2+ Beacon endpoints;
- несколько всегда доступных relays;
- разные failure domains/VPS для bootstrap infrastructure;
- HTTPS для Beacon HTTP API и Control;
- persistent volumes для identities;
- synthetic
.knotmonitor с внешнего клиента; - backup service identities.
Control не должен быть SPOF data plane
Заголовок раздела «Control не должен быть SPOF data plane»Если Control недоступен:
- existing peers остаются соединёнными;
- circuits продолжают строиться;
- Beacon/relays продолжают работать;
- sidecars продолжают публиковать сервисы;
- клиенты продолжают открывать
.knot.
Недоступны лишь новые management jobs, onboarding UI и централизованное наблюдение.
Выбор модели
Заголовок раздела «Выбор модели»Небольшая сеть
Заголовок раздела «Небольшая сеть»Можно начать без Control: Beacon + несколько nodes + sidecars + ручные configs.
Несколько серверов
Заголовок раздела «Несколько серверов»Control + Agents существенно упрощают inventory, обновления и публикацию сервисов.
Большая сеть
Заголовок раздела «Большая сеть»Не пытайтесь превращать Control в обязательный coordinator. Масштабируйте data plane независимо, а management plane рассматривайте как управленческий инструмент.