Skip to content

Хаб: много хостов из одного места ​

Обычный nkt управляет одним хостом. nkt hub — тот же бинарник в другом режиме: он стоит на отдельной машине и управляет остальными по SSH, показывая для каждого ту же панель, что показал бы обычный nkt — с выбором хоста в интерфейсе вместо отдельной установки на каждый.

Хосты на хабе

Хаб сам ставит nkt на хосты (бинарник под архитектуру хоста, юнит, nkt.env), держит к ним SSH-соединения и проксирует запросы к API каждого. Белый адрес хабу не нужен, наружу у хостов ничего не открывается, кроме SSH для хаба.

С чего начать ​

  1. Установить хаб — systemd, Docker Compose или Kubernetes.
  2. Добавить хосты — ключ, который сгенерирует хаб, или подготовка свежего сервера по паролю.
  3. Открыть хост — дальше та же панель, что у одиночного nkt.

Что есть на хабе ​

Разделы — в том порядке, в каком они стоят в меню хаба:

  • Хосты — установка и обновление nkt, доступность и находки всех хостов, группы, резервный канал на случай отказа SSH, машины внутри хостов, экспорт и импорт.
  • Оповещения — хост недоступен или снова отвечает, перезагрузился, новые проблемы, упавшие задания, новые баны, прогнозы; у события — переход прямо в раздел хоста; разбор моделью и приватный режим — на той же странице.
  • Мониторинг — доступность и нагрузка всех хостов по истории хаба, контейнеры, машины, поды и узлы Kubernetes, прогнозы по трендам и подсказки, что с этим делать.
  • fail2ban — баны и разбаны сразу на многих хостах, забаненные адреса всех хостов, шаблоны джейлов на выбранные хосты.
  • Задания — фоновые задания хаба: установки, выкладки, создание машин и кластеров, журнал каждого.
  • Профили и сценарии — желаемое состояние хоста в YAML с планом и применением, расхождения — как находки; сценарии (экспериментально) — построчный язык развёртывания с сухим прогоном, справкой и схемой.
  • Кластеры — Kubernetes на машинах одного или нескольких хостов, с WireGuard, Cilium, манифестами и Helm сразу в несколько кластеров.
  • Выкладки (экспериментально) — приложения из Git в кластеры и на хосты по кнопке, вебхуку, опросу или новому тегу образа; compose-стеки с сайтами и HTTPS, сухой прогон, примеры CI/CD; nkt-edge — вход из интернета для хаба за NAT.
  • О системе — обновления хаба и хостов, общая база уязвимостей и ClamAV, API-токены, раскладка меню, разбор моделью, экспорт и «опасная зона».

Вне меню, но вокруг хаба:

Список всех возможностей — на странице возможностей.

Ограничения хаба ​

  • SSH-секреты хранятся на хабе, зашифрованные мастер-ключом. Хаб — единая точка доступа ко всем хостам: относитесь к нему как к машине с продакшен-доступом.
  • Управляющие операции идут через API самого хоста, который применяет свои правила (NKT_ALLOW_MUTATIONS, роль); хаб их не обходит.
  • Одна реплика: реестр — SQLite.