Uncloud — это инструмент оркестрации контейнеров, который позволяет объединять несколько Docker-хостов в единую среду, сохраняя Docker Compose в качестве основного интерфейса управления. Решение позиционируется как промежуточное звено между Docker Compose и сложными системами вроде Kubernetes.
Система не использует центральный control plane. Состояние кластера распределено между узлами с помощью Corrosion — хранилища на базе SQLite, использующего CRDT-модель для репликации данных. Такой подход обеспечивает согласованность в конечном итоге и позволяет узлам работать автономно при разрыве сетевых соединений.
Для взаимодействия контейнеров на разных хостах Uncloud использует WireGuard. Протокол создает общую L3-сеть, связывая подсети отдельных машин. Контейнеры получают уникальные IP-адреса в рамках этой сети, что позволяет им обмениваться трафиком напрямую, независимо от физического расположения на серверах.
Обнаружение сервисов реализовано через внутренний DNS-сервер, работающий на каждом узле и обслуживающий доменную зону .internal. Для внешнего трафика предусмотрена облачная служба Managed DNS, которая в связке с прокси-сервером Caddy автоматически настраивает маршрутизацию для приложений.






