В чем разница между Ignite и gVisor с точки зрения их варианта использования? - PullRequest
1 голос
/ 11 июля 2019

Я хотел бы знать, есть ли разница между gVisor и Weave Ignite с точки зрения их вариантов использования (если есть). Мне кажется, что они оба пытаются сделать одно и то же: сделать выполнение кода в виртуальных средах более безопасным

gVisor делает это, представляя runsc, среду выполнения, которая включает контейнеры с песочницей, а Ignite делает это с помощью Firecracker , который в их контексте, похоже, также используется как песочница.

1 Ответ

2 голосов
/ 12 июля 2019

Оба Фейерверк и 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 раз медленнее

Текущие методы песочницы

enter image description here


Песочница с gVisor

Sandboxing with gVisor


Нужно лиgVisor?

Нет.Если вы работаете с рабочими нагрузками, даже не думайте об этом!Прямо сейчас это метафорический научный эксперимент.Это не значит, что вы можете не использовать его по мере его развития.У меня нет проблем с тем, как он пытается решить проблему изоляции процессов, и я думаю, что это хорошая идея.Есть также альтернативы, которые вы должны уделить время, чтобы изучить, прежде чем применять эту технологию в будущем.

Где я мог бы использовать ее?

Как оператор, вы захотите используйте gVisor для изоляции контейнеров приложений, которые не являются полностью доверенными .Это может быть новая версия проекта с открытым исходным кодом, которому ваша организация доверяла в прошлом.Это может быть новый проект, который ваша команда еще не провела, или что-то еще, в чем вы не совсем уверены, можно ли доверять вашему кластеру.В конце концов, если вы запускаете проект с открытым исходным кодом, который вы не написали (все мы), ваша команда, конечно, не написала его, так что было бы хорошей безопасностью и хорошей разработкой для надлежащей изоляции и защиты вашей среды в случаеможет быть еще неизвестной уязвимостью.


enter image description here


Дополнительная информация

В моем ответе содержится информация отСледующие источники в цитируют разделы, когда они приняты "как есть", и я рекомендую их для дальнейшего чтения:

...