Multipass от Canonical — это универсальный инструмент для запуска и управления легкими виртуальными машинами (ВМ) Ubuntu на разных платформах, включая macOS, Windows и Linux.
Разработанный для разработчиков и операторов, Multipass оптимизирует подготовку локальных виртуальных машин, предлагая практически мгновенные экземпляры Ubuntu из командной строки или с помощью сценариев. Его ориентация на простоту использования, автоматизацию и минимальные трудности делает его надежным кандидатом для быстрой разработки, облачного тестирования и рабочих процессов непрерывной интеграции (CI).
Архитектурный обзор Multipass
Multipass построен на архитектуре клиент-сервер. Такая конструкция отделяет интерфейс командной строки (CLI), обращенный к пользователю, от системных служб, которые управляют жизненным циклом экземпляров виртуальных машин. Клиент Multipass взаимодействует с демоном Multipass — привилегированной фоновой службой, отвечающей за оркестровку виртуальных машин и управление ресурсами. Такое разделение не только повышает безопасность, но также позволяет создавать сценарии и интегрировать их в рабочие процессы автоматизации без прямого вмешательства в систему.
Демон использует базовый гипервизор, предоставляемый операционной системой хоста. В macOS Multipass использует Apple Hypervisor Framework, который обеспечивает собственную производительность и изоляцию безопасности. В Windows он использует Hyper-V, если он доступен, или при необходимости возвращается к VirtualBox. Хосты Linux обычно полагаются на KVM для виртуализации с аппаратным ускорением. Multipass автоматически обнаруживает доступные серверные части и выбирает наиболее оптимальный, но пользователи также могут переопределить выбор по умолчанию, используя параметры конфигурации.
Управление хранилищем в Multipass использует образы с тонким предоставлением и оптимизацией для минимального занимаемого места на диске. Каждый экземпляр получает домашнюю и временную корневую файловую систему по умолчанию с возможностью монтирования произвольных каталогов хоста внутри виртуальной машины. Сеть абстрагируется, чтобы предоставить экземпляры с возможностью подключения, отражающей облачные среды, с поддержкой разрешения DNS и исходящего трафика по умолчанию. Опытные пользователи могут настроить собственные мосты или дополнительные сетевые карты для более сложных сценариев.
Multipass обрабатывает изображения по умолчанию в официальных оптимизированных выпусках Ubuntu от Canonical. Эти минимальные изображения часто обновляются и оптимизируются по размеру и безопасности. Multipass поддерживает локальный кэш изображений, чтобы сократить время загрузки при последующих запусках. Пользователи также могут запускать собственные образы или пакеты Snap, расширяя архитектуру для специализированных случаев использования, включая разработку между дистрибутивами или облегченные развертывания виртуальных машин, подобные контейнерам.
Начало работы с мультипассом
Установка Multipass проста во всех основных операционных системах. Загрузки и инструкции доступны на веб-сайте проекта и в документации. В macOS Multipass можно установить с помощью Homebrew или загрузив подписанный пакет DMG. Для Windows установщики MSI поддерживают простую настройку. В Linux Multipass распространяется как пакет Snap, обеспечивающий автоматическое обновление и выполнение в изолированной программной среде.
После установки для запуска виртуальной машины Ubuntu требуется одна команда терминала. При многопроходном запуске при необходимости загружается последний образ Ubuntu и подготавливается новый экземпляр. По умолчанию экземпляр имеет 1 ГБ ОЗУ, одно ядро ЦП и 5 ГБ дискового пространства, но эти ресурсы можно легко настроить при запуске. Например, указание многопроходного запуска —name dev —cpus 2 —memory 4G —disk 20G устанавливает виртуальную машину разработки с увеличенными ресурсами.
Доступ к оболочке экземпляра осуществляется с помощью многопроходной оболочки, которая помещает пользователя в полнофункциональную среду Ubuntu. Интерфейс командной строки упрощает управление действиями жизненного цикла, такими как запуск, остановка, приостановка или удаление экземпляров. Пользователи могут перечислять все запущенные и остановленные экземпляры с помощью многопроходного списка, проверять подробную конфигурацию с помощью многопроходной информации и передавать файлы с помощью многопроходной передачи.
Multipass поддерживает монтирование каталогов хоста в экземпляры с помощью команды multipass mount, что упрощает рабочие процессы, требующие совместного использования исходного кода или создания артефактов или файлов данных на хосте и гостевой системе. Изменения файлов доступны мгновенно без дополнительных затрат на сеть, что делает его идеальным для локальной разработки, где необходима синхронизация в реальном времени. Сеть прозрачна, что позволяет SSH, HTTP-серверам и другим сетевым службам работать так, как если бы они работали в исходном режиме.
Сценарии Multipass — еще одно преимущество. Он интегрируется в конвейеры CI, специальные цепочки инструментов разработки или сценарии автоматизации системы. Cloud-init на основе YAML может быть предоставлен при запуске для автоматической подготовки, установки и настройки пакетов. Многопроходные экземпляры по своей конструкции являются эфемерными, что позволяет их разворачивать, использовать и уничтожать за считанные секунды.
Обновление самого Multipass или используемых им образов Ubuntu выполняется автоматически в установках Linux с поддержкой Snap; Пользователи macOS и Windows получают уведомления об обновлениях. Образы экземпляров обновляются по запросу или при первом запуске.
Multipass также взаимодействует с общедоступными облаками благодаря схожей семантике управления экземплярами. Рабочие нагрузки разработки и тестирования, созданные с помощью Multipass локально, можно легко перенести или адаптировать для работы на облачных серверах Ubuntu без существенных изменений, поддерживая гибридные и мультиоблачные рабочие процессы.
Сравнение Multipass с VirtualBox
Ключевое решение для пользователей, которым требуется локальное управление виртуальными машинами, — выбрать Multipass или VirtualBox. Оба предоставляют возможности виртуальных машин, но различаются философией, набором функций и оптимизацией вариантов использования.
Multipass в первую очередь оптимизирован для упрощенного выделения ресурсов виртуальных машин Ubuntu и временных сред. Он разработан для минимального трения, быстрого запуска экземпляра и облачного рабочего процесса. автоматизация и создание сценариев являются первоклассными благодаря современному интерфейсу командной строки и поддержке встроенной интеграции с ОС. Multipass не предоставляет обширных графических интерфейсов или поддержки запуска произвольных гостевых операционных систем за пределами базовых образов Ubuntu, хотя возможна некоторая настройка.
VirtualBox предлагает более традиционный подход к виртуализации. Он поддерживает хостинг самых разных операционных систем, включая Windows, варианты Linux, BSD, macOS и другие. VirtualBox предоставляет надежные графические элементы управления, включая графический интерфейс для управления настройками виртуальной машины, снимками, сетевыми устройствами и хранилищем. Он превосходен в сценариях, где необходима детальная настройка и межоперационное тестирование.
Архитектура VirtualBox является монолитной, объединяющей весь стек внутри собственных уровней сервисов и приложений. Производительность виртуальных машин с VirtualBox в целом превосходна, хотя иногда немного ниже, чем у встроенных интеграций гипервизора, таких как Hyper-V или macOS Hypervisor Framework, используемых Multipass. Расширенные функции VirtualBox включают в себя мостовую сеть или сеть только для хоста, сквозную передачу через USB-оборудование и детальную эмуляцию устройств виртуальной машины.
Multipass отличается производительностью и автоматизацией разработки. Его легкие образы, быстрая подготовка и совместимость с облачной инициализацией делают его идеальным для систем CI/CD, временных испытательных стендов, прототипирования микросервисов и облачных рабочих процессов. Оптимизированный подход достигается за счет гибкости: Multipass — это не гипервизор виртуальных машин общего назначения, а специализированный инструмент, ориентированный на опыт разработки, ориентированный на Ubuntu.
Напротив, VirtualBox лучше подходит для сценариев, требующих графического взаимодействия с виртуальными машинами, гостевых ОС, отличных от Ubuntu, постоянных сред или устаревшей интеграции сети и оборудования. Это также естественный выбор для конечных пользователей, которым необходимо вручную управлять рабочими столами внутри виртуальных машин и взаимодействовать с ними, например, для обеспечения совместимости устаревших приложений, оценки ОС или обучения в классе.
Заключение
Multipass предлагает ориентированный на разработчиков подход к оркестровке виртуальных машин, оптимизированный для Ubuntu и облачных сценариев на современных настольных компьютерах. Его архитектура использует встроенные в ОС гипервизоры для обеспечения высокой производительности, безопасности и низких накладных расходов, а также предоставляет мощный, но простой интерфейс командной строки для мгновенного управления виртуальными машинами, создания сценариев и автоматизации. Хотя Multipass не заменяет полнофункциональные общие решения для виртуальных машин, такие как VirtualBox, он превосходит их в сценариях, ориентированных на разработку Ubuntu, автоматизацию и временные рабочие нагрузки. Выбор между Multipass и VirtualBox зависит от того, является ли приоритетом для вашего рабочего процесса оптимизированное управление виртуальными машинами Ubuntu на основе кода или графическая универсальность для нескольких ОС.
ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одной серии. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Джанакирам MSV — главный аналитик Janakiram & Associates и внештатный преподаватель Международного института информационных технологий. Он также является сертифицированным облачным разработчиком Google, сертифицированным архитектором решений Amazon, сертифицированным разработчиком Amazon,… Читать далее от Джанакирама MSV