Проект Kube представляет собой управляющий слой Kubernetes, написанный на языке Оберон и работающий на архитектуре машины Вирта. Система функционирует без использования стеков TCP/IP или Ethernet, применяя радиопротокол для обмена данными между узлами. Протокол основан на решениях для рабочих станций конца восьмидесятых годов.

Узлы общаются через радиомодуль nRF24L01+, передавая пакеты размером 32 байта. Протокол KubeNet включает три типа сообщений: сигналы жизни, назначения подов и спецификации образов. Каждое сообщение умещается в один кадр, что позволяет избежать проблем с коллизиями в эфире без внедрения сложных механизмов контроля доступа к среде.

Архитектура Kube реализует принцип level-triggered, характерный для Kubernetes. Управляющая машина транслирует желаемое состояние, а узлы приводят текущее состояние в соответствие с ним. Потеря пакетов не требует повторных передач, так как каждое следующее сообщение содержит актуальное состояние системы, обеспечивая устойчивость к потере до 30 процентов трафика.

Система Оберон использует кооперативную многозадачность: контроллеры Kube запускаются как задачи в основном цикле с периодом 50 миллисекунд. В отличие от стандартного Kubernetes, где образ пода является архивом файловой системы, в Kube образ представляет собой модуль Оберона, который загружается узлом напрямую. Это позволяет запускать поды без скачивания контейнеров.

Исследовательский проект доступен для тестирования в браузере, где модель машины Вирта исполняется через WebAssembly. Исходный код, документация и результаты замеров опубликованы в репозитории на GitHub. Автор использует этот опыт для анализа принципов построения инфраструктуры и поиска способов снижения её сложности.