
Я ищу легкий полнофункциональный инструмент виртуализации ОС.
Он должен работать на Linux, и ОС внутри виртуализации тоже Linux.
Мой вариант использования: я хочу протестировать наше управление конфигурацией.
- Запустить базовый образ текущего дистрибутива Linux (Ubuntu и SuSE)
- Запустите наше управление конфигурацией (стек соли)
- Проверьте, правильно ли настроена и работает ли операционная система.
Вещи, которые, по моему мнению, не совпадают:
- KVM/Qemu: слишком тяжелый, а не легкий
- Docker: Мне нужны cron, ssh, apache внутри ОС. Насколько мне известно, Docker здесь не подходит.
- chroot недостаточно, так как насколько мне известно, привязка к 0.0.0.0 не работает (apache, sshd, ...)
Какой инструмент (с открытым исходным кодом) можно использовать?
решение1
Самое близкое, что приходит мне на ум, этоЛКД.
LXD — это демон управления, который использует LXC для «виртуализации».
Реализация под капотом больше похожа на Docker (Docker раньше был основан на библиотеке LXC), но использование больше похоже на виртуальную машину.
На самом деле, то, что вы здесь получаете, это процесс init в контейнере. Существует множество различных базовых образов, с которых можно начать, чтобы приблизиться к Ubuntu, CentOS, Alpine или другой системе Linux. Однако здесь нет эмуляции оборудования, как в виртуальных машинах; все контейнеры работают поверх ядра хоста.
Ведущий разработчик ведет серию блоговздесьоб использовании LXD.
Я часто использую LXD в разработке и тестировании. Вы можете настроить его с помощью частного моста, чтобы он был сетью, изолированной от локальной машины, или моста с вашим физическим интерфейсом и выставлял контейнеры во внешнюю сеть. Именно так я запускаю свой домашний сервер, чтобы иметь возможность подключаться по ssh к каждому контейнеру/серверу, как если бы это был полноценный сервер.
Для тестирования и разработки сетевой мост не подключен ни к какому физическому устройству, поэтому я могу настроить кластер базы данных или что-то еще, что мне нужно, с помощью реальной сети, но только на моем локальном ноутбуке.