Nanocl: упрощение оркестрации контейнеров и виртуальных машин
Nanocl — это распределённая система для упрощения оркестрации контейнеров и виртуальных машин. Она позволяет разработчикам создать бесшовный рабочий процесс от локальной разработки до продакшена, минимизируя сложность многоуровневых систем. Этот проект может быть полезен платформенным инженерам, которым необходима высокая изоляция и предсказуемая производительность, но без накладных расходов полноценной системы на базе Kubernetes.
Проект написан на Rust, что гарантирует эффективность и безопасность. Установка проста: нужно всего лишь запустить команду с curl, и после выполнения шагов постустановки можно использовать Nanocl. Обрати внимание, что проект всё ещё в стадии разработки, так что возможны баги и недостаток документации.
Если ты ищешь решение для более простого управления сервисами, чем Kubernetes, и работаешь с контейнерами, Nanocl можно попробовать.
Nanocl — это открытая дистрибутивная система, которая переосмысливает облачную оркестрацию с нуля. Она предназначена для разработки и развертывания приложений с минимальными усилиями, скрывая сложность работы с многими сервисами. Этот проект особенно актуален для платформенных инженеров, которым нужны надёжная изоляция, предсказуемая производительность и упрощённые операции без нагрузки от полного дистрибутива Kubernetes.
Установка
Для установки Nanocl требуется Docker. Поддерживаются платформы Linux, macOS и Windows. Чтобы установить, нужно выполнить следующую команду:
curl -fsSL https://download.next-hat.com/scripts/get-nanocl.sh | sh
После этого необходимо завершить шаги постустановки, указанные в документации.
Основные возможности
- Декларативные Statefiles для управления контейнерами, ресурсами и виртуальными машинами.
- End-to-end TLS для безопасности соединений, включая внутренние сетевыеPrimitive.
- Динамическое маршрутизирование и распространение DNS.
- Автоматизация заданий и cron-планировщик.
- Многоформатные конфигурации с поддержкой YAML, TOML и JSON.
- CLI и демон с минимальным следом на хосте.
Быстрый старт
Для начала работы создай минимальный Statefile и примените его:
ApiVersion: v0.16
Cargoes:
- Name: hello
Containers:
- Name: hello
Image: ghcr.io/next-hat/documentation:0.16.0
Применить его можно с помощью команды:
nanocl state apply -s ./state.yml
После этого ты сможешь просмотреть список контейнеров и их логи:
nanocl cargo ls
nanocl cargo logs global.hello
Архитектура
Nanocl состоит из модульных контейнеризованных сервисов:
- nstore — для сохранения состояния кластера.
- ndaemon — REST API и контрольная поверхность.
- nmetrics — для сбора информации об использовании ресурсов.
- ncproxy — контроллер прокси с встроенным nginx (опционально).
- ncdns — контроллер DNS с встроенным dnsmasq (опционально).
Ограничения
Несмотря на мощные функции, Nanocl не является клоном Kubernetes и фокусируется на упрощении процессов, где Kubernetes может быть слишком сложным. Это делает его менее подходящим в ситуациях, когда требуется полная функциональность Kubernetes.
В общем, Nanocl предлагает разработчикам удобный и эффективный инструмент для оркестрации, делая процесс разработки и развертывания проще и быстрее.
Открыть на GitHub: next-hat/nanocl →
RepoRadar