Оба Фейерверк и gVisor - это технологии, которые обеспечивают «песочницу» / изоляцию, но по-другому.
- Фейерверк (оранжевая коробка) - это виртуальная машинаManager.
- gVisor (зеленое поле) имеет архитектуру, которая контролирует / фильтрует системные вызовы, которые достигают фактического хоста.
Weave Ignite является инструмент , который помогает вам использовать Firecracker для запуска контейнеров внутри легких виртуальных машин, а также делать это с красивым UX, аналогично использованию Docker.
Это также упоминается в Scope раздел github.com / weaveworks / ignite
Область действия
Ignite отличается от контейнеров Kata или gVisor.Они не позволяют вам запускать настоящие виртуальные машины, а только обертывают контейнер в новый слой, обеспечивая некоторую границу безопасности (или «песочницу»).
С другой стороны, Ignite позволяет легко запускать полноценную виртуальную машинуи супер-быстрый, но со знакомым контейнером UX.Это означает, что вы можете «перейти на один уровень вниз» и начать управлять своим парком виртуальных машин, например, кластером Kubernetes, но при этом упаковывать свои виртуальные машины как контейнеры.
Относительно варианта использования часть вашего вопроса, я чувствую, что благодаря более сильной изоляции виртуальных машин Ignite может быть более готовой к работе.Кроме того, подход gVisor, по-видимому, требует значительных затрат на производительность, о чем упоминается в Истинная стоимость содержания: тематическое исследование gVisor :
Заключение
- gVisor, возможно, более безопасен, чем
runc
- К сожалению, наш анализ показывает, что реальные затраты на эффективное хранение высоки: системные вызовы в 2,2 раза медленнее, выделения памяти в 2,5 раза медленнее, большиезагрузка происходит в 2,8 раза медленнее, а открытие файлов - в 216 раз медленнее
Текущие методы песочницы
Песочница с gVisor
Нужно лиgVisor?
Нет.Если вы работаете с рабочими нагрузками, даже не думайте об этом!Прямо сейчас это метафорический научный эксперимент.Это не значит, что вы можете не использовать его по мере его развития.У меня нет проблем с тем, как он пытается решить проблему изоляции процессов, и я думаю, что это хорошая идея.Есть также альтернативы, которые вы должны уделить время, чтобы изучить, прежде чем применять эту технологию в будущем.
Где я мог бы использовать ее?
Как оператор, вы захотите используйте gVisor для изоляции контейнеров приложений, которые не являются полностью доверенными .Это может быть новая версия проекта с открытым исходным кодом, которому ваша организация доверяла в прошлом.Это может быть новый проект, который ваша команда еще не провела, или что-то еще, в чем вы не совсем уверены, можно ли доверять вашему кластеру.В конце концов, если вы запускаете проект с открытым исходным кодом, который вы не написали (все мы), ваша команда, конечно, не написала его, так что было бы хорошей безопасностью и хорошей разработкой для надлежащей изоляции и защиты вашей среды в случаеможет быть еще неизвестной уязвимостью.
Дополнительная информация
В моем ответе содержится информация отСледующие источники в цитируют разделы, когда они приняты "как есть", и я рекомендую их для дальнейшего чтения: