Управляющий кластер
Содержание
Характеристики #
| Параметр | Значение |
|---|---|
| Количество серверов | 3 |
| Участие в трафике | Нет (только управление) |
| Жизненный цикл | Долгоживущий, критический |
| Владелец | Администратор сети |
Компоненты #
Kubernetes control plane #
Управляет входным слоем (Entry-подами): следит за состоянием подов, обеспечивает распределение нагрузки через LoadBalancer, выполняет обновления. Три сервера образуют отказоустойчивый control plane — кластер работает при потере одного сервера.
HA etcd #
Хранит оперативное состояние сети: маршруты клиентов, параметры Core-нод, конфигурации, статусы. Три узла etcd обеспечивают кворум и строгую консистентность.
Это единственный экземпляр etcd в сети. В старой архитектуре etcd размещался на Core-нодах — теперь он полностью выведен из выходного слоя.
Root CA #
Управляющий кластер хранит корневой приватный ключ PKI. Выпускает сертификаты для всех участников сети:
- Entry-узлам — право подключаться к Core-нодам.
- Core-нодам — право принимать трафик от Entry-узлов.
Других источников доверия в сети нет.
Сервисная инфраструктура #
| Сервис | Назначение |
|---|---|
| Telegram-бот | Управление участниками, выдача join-токенов, алерты об инцидентах |
| Subscription-сервис | Выдача клиентам актуальных конфигураций подключения |
| Резервное копирование | Периодическая фиксация состояния сети в Git-репозиторий |
Взаимодействие с другими узлами #
| Направление | Протокол | Назначение |
|---|---|---|
| Кластер → Entry-поды | K8s API | Оркестрация, обновление конфигураций |
| Core-нода → Кластер | mTLS (phone-home) | Регистрация, получение конфигурации |
| Entry-поды → Кластер | etcd API (read-only) | Запросы маршрутизации |
Управляющий кластер не инициирует SSH-соединений к другим узлам — такого механизма в новой архитектуре нет.
Требования к серверам #
| Параметр | Минимум |
|---|---|
| Количество серверов | 3 |
| CPU | 2 vCPU |
| RAM | 4 GB |
| Диск | 40 GB SSD |
| ОС | Ubuntu 22.04 / Debian 12 |
| Сеть | Выделенный IPv4, доступность между узлами кластера |
Безопасность #
- Нет публичных портов, кроме K8s API и phone-home эндпоинта.
- SSH-доступ только по ключу, вход root отключён.
- Регулярное резервное копирование приватного ключа CA в безопасное хранилище.
- Все три сервера кластера должны быть физически или сетевой изолированы от публичного интернета по возможности.