The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Выпуск Kata Containers 1.0 с изоляцией на основе виртуализации

22.05.2018 22:48

Состоялся первый выпуск проекта Kata Containers, в рамках которого развивается стек для организации выполнения контейнеров с использованием изоляции на базе полноценных механизмов виртуализации, созданный компаниями Intel и Hyper путём объединения технологий Clear Containers и runV. Код проекта написан на языке Go и распространяется под лицензией Apache 2.0. Развитие проекта курирует рабочая группа, созданная под эгидой независимой организации OpenStack Foundation, в которой участвуют такие компании, как Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE и ZTE.

Основу Kata составляет runtime, предоставляющий возможность создавать компактные виртуальные машины, выполняемые с использованием полноценного гипервизора, вместо применения традиционных контейнеров, использующих общее ядро Linux и изолированных при помощи пространств имён и cgroups. Применение виртуальных машин позволяет добиться более высокого уровня безопасности, защищающего от совершения атак, вызванных эксплуатацией уязвимостей в ядре Linux.

Kata Containers ориентирован на интеграцию в существующие инфраструктуры контейнерной изоляции c возможностью применения подобных виртуальных машин для усиления защиты традиционных контейнеров. Проектом предоставляются механизмы для обеспечения совместимости легковесных виртуальных машины с различными инфраструктурами контейнерной изоляции, платформами оркестровки контейнеров и спецификациями, такими как OCI (Open Container Initiative), CRI (Container Runtime Interface) и CNI (Container Networking Interface). Доступны средства для интеграции с Docker, Kubernetes, QEMU и OpenStack.

Интеграция с системами управления контейнерами достигается при помощи прослойки, симулирующей управление контейнером, которая через gRPC-интерфейс и специальный прокси обращается к управляющему агенту в виртуальной машине. Внутри виртуального окружения, которое запускается гипервизором, используется специально оптимизированное ядро Linux, содержащее только минимальный набор необходимых возможностей.

Системное окружение включает в себя только демон инициализации и агент (Аgent). Агент обеспечивает выполнение определённых пользователем образов контейнера в формате OCI для Docker и CRI для Kubernetes. При использовании совместно с Docker для каждого контейнера создаётся отдельная виртуальная машина, т.е. запускаемое поверх гипервизора окружение применяется для вложенного запуска контейнеров.

В условиях выполнения большого числа типовых окружений, накладные расходы на каждое последующее окружение составляет 18-20 Мб, что даёт возможность уместить 3500 виртуальных машин на сервере с 128 Гб ОЗУ. Окружение запускается менее, чем за 100ms, что позволяет использовать Kata Containers для запуска контейнера с приложениями на лету, в моменты, когда в них возникает необходимость. В качестве гипервизора по умолчанию предлагается использовать KVM в сочетании с инструментарием QEMU, но проект изначально позиционируется как не привязанный к конкретным архитектурам и способный работать с различными гипервизорами (например, Xen).

Для уменьшения потребления памяти применяется механизм DAX (прямой доступ к ФС в обход страничного кэша без применения уровня блочных устройств), а для дедупликации одинаковых областей памяти применяется технология KSM (Kernel Samepage Merging), что позволяет организовать совместное использование ресурсов хост-системы и подключить к разным гостевым системам общий шаблон системного окружения.



  1. Главная ссылка к новости (https://katacontainers.io/post...)
  2. OpenNews: Intel представил Clear Linux с контейнерами приложений на базе виртуализации
  3. OpenNews: Intel представил инструментарий Clear Containers 3.0, переписанный на языке Go
  4. OpenNews: Linux Foundation представил containerd 1.0, runtime для изолированных контейнеров
  5. OpenNews: Выпуск Cilium 1.0, сетевой системы для Linux-контейнеров, основанной на BPF
  6. OpenNews: Google открыл gVisor, гибрид системы виртуализации и контейнеров
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48642-kata
Ключевые слова: kata, container, runv
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (26) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, odd.mean (ok), 00:08, 23/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    >такие компании как (...) ZTE

    "Запомни меня молодой и красивой!"
    А по сути: выглядит довольно интересно. Но, опять же, без "написано на Go" теперь вообще новых продуктов не появляется?

     
     
  • 2.10, Додо (?), 06:35, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Какая разница, на каком языке написано? Вам шашечки или ехать?
     
     
  • 3.21, щавель (?), 12:01, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Очень просто. GO часто equals lots of buggy features.
     
     
  • 4.22, Аноним (-), 12:11, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    писать плохо можно на чем угодно, как бы
     
  • 4.28, qrKot (?), 07:33, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    lots of buggy features - это смотря с чем сравнивать.
    Вы предпочли бы реализацию аналогичной вещи на node.js?
    Как бэ гоша вполне себе в рамках спеки действует, при этом спека а) простая, б) понятная, в) короткая.
     
  • 2.12, проходил (?), 08:21, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чем конкретно не устраивает GO и почему?
    Какой язык был бы для вас идеальным для данного продукта и почему?
     
     
  • 3.20, me (??), 10:07, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    только C#1111
     
     
  • 4.23, ор (?), 12:52, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    C# не тру никс вей.
     
  • 3.25, Смузивейпер (?), 13:55, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Какой язык был бы для вас идеальным для данного продукта и почему?

    Няшный JavaScript. В крайнем случае, питон в трех разных версиях.


     
  • 3.29, odd.mean (ok), 18:41, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Всем усраивает. Это скорее про статистику и "в целом интересно". К Go я отношусь ровно так же как к паскалю, плюсам и джаве: человек с пониманием алгоритмизации и на дельфях напишет безопасный код. Человек с Visual Hindu головного мозга напишет... Ну вот то, что напишет.
     

  • 1.2, Аноним (-), 00:13, 23/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    <Применение виртуальных машин позволяет добиться более высокого уровня безопасности, защищающего от совершения атак, вызванных эксплуатацией уязвимостей в ядре Linux. >
    И открывает для совершения атак, вызванных эксплуатацией уязвимостей в виртуальных машинах. Маркетологи...
     
     
  • 2.3, odd.mean (ok), 00:31, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Основная уязвимость обычно в голове к "виртуализатора": ну оно ж в виртуалке, почему бы не исполнить этот скрипт (лень смотреть чего и как оно делает) от рута?
     
  • 2.7, Аноним (-), 01:16, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Интерфейс между виртуалкой и хостом намного компактнее и, соответственно, поверхность атаки тоже. Если виртуалки худо-бедно научились хостить на своем железе для незнамо кого, то контейнерам это и близко не светит: в большинстве публичных сервисах хостинга контейнеров ты покупаешь виртуалки, подключенные к системе управления хостера и уже в них запускаешь свои контейнеры.
     
     
  • 3.9, Аноним (9), 01:50, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Интерфейс между виртуалкой и хостом намного компактнее и, соответственно, поверхность атаки тоже.

    Интерфейсы и количество кода лишь очень косвенная оценка безопасности, намного важнее качество.
    Какой-нить браузер мб вполне безопаснее ПО васяна на 500 строк. А ОС безопаснее браузера.
    Так что такой себе аргумент.
    Я бы лучше посмотрел распределение реально работающих критических уязвимостей и время за которое их исправляли.

     

  • 1.4, kvaps (ok), 00:42, 23/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Классная штука, такими темпами скоро и OpenStack можно будет отправлять на помойку.

    > механизм DAX

    Не совсем понятно что он из себя представляет и как это вообще выглядит со стороны гипервизора.
    Кстати, почему не 9p?

     
     
  • 2.8, Аноним (-), 01:21, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не совсем понятно что он из себя представляет

    Это, грубо говоря, виртуальный nvdimm. Основной плюс - это XIP (execution in place), когда секции бинарей с исполняемым кодом и статическими данными не копируются в память, а исполняются прям с nvdimm.

     

  • 1.11, Sfinx (ok), 07:39, 23/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    когда AMD прикрутят, тогда и посмотрим. штеуд даром не надо
     
     
  • 2.13, Аноним (-), 08:39, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не, ну даром-то почему бы и нет)
     
     
  • 3.14, Разработчики glibc (?), 08:56, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нехай доплачивают, а то у нас финансовые показатели.
     
  • 2.17, Аноним (-), 09:23, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    И чаво смесью удобрения и алюминия в синагоге делать? Мусорить, чтобы иудеи в страданиях подметали за тобой? Ещё по морде дадут.
     
     
  • 3.24, Аноним (-), 13:39, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    господа, у вас сообщение от удалённого сообщения отклеилось и к другому приклеилось
     
  • 3.30, Fantomas (??), 12:14, 04/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    и ноги переломают
     

  • 1.16, Аноним (-), 09:10, 23/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >для дедупликации одинаковых областей памяти применяется технология KSM (Kernel Samepage Merging)

    dedup est machina?

     
     
  • 2.18, Аноним (-), 09:25, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >>для дедупликации одинаковых областей памяти применяется технология KSM (Kernel Samepage Merging)
    > dedup est machina?

    Нет, это активный зонд, на который внимание обратили только раз в рассказе о rowhammer, но потом срочно решили забыть, а то палево.

     
     
  • 3.26, Аноним (-), 21:56, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Оч полезная технология, когда пытаешься продать 200 вмок на серваке в который по ресурсам влезает только 100, так что не надо тут! Есть десятки более изящных предустановленных "зондов" нежели rowhammer.
     
     
  • 4.27, Аноним (-), 22:39, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Оч полезная технология, когда пытаешься продать 200 вмок на серваке в который
    > по ресурсам влезает только 100, так что не надо тут! Есть
    > десятки более изящных предустановленных "зондов" нежели rowhammer.

    ага, изящнее чем подмена приватных ключей в состедней виртуалке путём теребления своей памяти

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру