Подключение к сети
Содержание
Общий принцип #
Администратор принимает решение о подключении участника и генерирует одноразовый join-токен. Участник получает токен через личный канал связи и самостоятельно запускает контейнеры на своих серверах.
Токен действует 24 часа и может быть использован один раз. После использования сгорает — повторное применение невозможно.
Подключение Entry-ноды #
Entry-нода вступает в K8s-кластер как worker node. Участник устанавливает агент K8s (k3s) на своём сервере:
curl -sfL https://get.k3s.io | \
K3S_URL=https://<MANAGEMENT_CLUSTER>:6443 \
K3S_TOKEN=<JOIN_TOKEN> \
sh -
После запуска:
- Сервер регистрируется в K8s-кластере как worker node.
- Kubernetes автоматически размещает на нём Entry-поды.
- Сервер включается в rotation K8s LoadBalancer.
Требования к серверу Entry-ноды:
| Параметр | Минимум |
|---|---|
| CPU | 1 vCPU |
| RAM | 512 MB |
| Диск | 10 GB SSD |
| ОС | Ubuntu 22.04 / Debian 12 |
| Расположение | Внутри регулируемого региона |
Подключение Core-ноды #
Core-нода работает через Docker. Участник устанавливает Docker и запускает контейнер с join-токеном:
docker run -d \
--name sigilgate-core \
--restart unless-stopped \
-p 443:443 \
sigilgate/core-node \
--join-token=<JOIN_TOKEN>
При первом запуске контейнер автоматически:
Ключевой момент: приватный ключ генерируется внутри контейнера и никогда не покидает сервер участника. Управляющий кластер получает только CSR (запрос на подпись) и выдаёт сертификат.
Требования к серверу Core-ноды:
| Параметр | Минимум |
|---|---|
| CPU | 1 vCPU |
| RAM | 512 MB |
| Диск | 10 GB SSD |
| ОС | Linux (любой дистрибутив с Docker) |
| Обязательно | Docker |
| IPv4 | Выделенный белый адрес |
| Расположение | Вне регулируемого региона |
После подключения #
После успешной регистрации Core-ноды:
- Управляющий кластер назначает ноду в ячейку (или создаёт новую).
- Администратор привязывает клиентские устройства участника к его Core-ноде.
- Entry-поды начинают маршрутизировать трафик этих клиентов на новую Core-ноду.
- Участник получает subscription URL для своих устройств через Telegram-бот.
Выход из сети #
Участник может выйти из сети в любой момент, просто отключив свои серверы. Управляющий кластер зафиксирует потерю heartbeat от Core-ноды и автоматически выведет её из ротации.
Рекомендуется сообщить администратору заранее — чтобы клиентские устройства участника получили временный резервный доступ до полного восстановления.