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 →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте