The OpenNET Project / Index page

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

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

11.10.2022 22:58

После двух лет разработки опубликован выпуск проекта Kata Containers 3.0, развивающего стек для организации выполнения контейнеров с использованием изоляции на базе полноценных механизмов виртуализации. Проект создан компаниями Intel и Hyper путём объединения технологий Clear Containers и runV. Код проекта написан на языках Go и Rust, и распространяется под лицензией 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, содержащее только минимальный набор необходимых возможностей.

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

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

В новой версии:

  • Предложен альтернативный runtime (runtime-rs), формирующий начинку контейнеров, написанный на языке Rust (ранее поставляемый runtime написан на языке Go). Runtime совместим с OCI, CRI-O и Containerd, что позволяет использовать его с Docker и Kubernetes.
  • Предложен новый гипервизор dragonball, основанный на KVM и rust-vmm.
  • Добавлена поддержка проброса доступа к GPU, используя VFIO.
  • Добавлена поддержка cgroup v2.
  • Реализована поддержка подмены настроек без изменения основного файла конфигурации через замену блоков в отдельных файлах, размещаемых в каталоге "config.d/".
  • В компонентах на языке Rust задействована новая библиотека для безопасной работы с файловыми путями.
  • Компонент virtiofsd (написан на Си) заменён на virtiofsd-rs (написан на Rust).
  • Добавлена поддержка sandbox-изоляции компонентов QEMU.
  • В QEMU для асинхронного ввода/вывода задействован API io_uring.
  • Для QEMU и Cloud-hypervisor реализована поддержка расширений Intel TDX (Trusted Domain Extensions).
  • Обновлены компоненты: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, ядро Linux 5.19.2.


  1. Главная ссылка к новости (https://github.com/kata-contai...)
  2. OpenNews: Компания Amazon опубликовала систему виртуализации Firecracker 1.0
  3. OpenNews: Выпуск Kata Containers 1.0 с изоляцией на основе виртуализации
  4. OpenNews: Google открыл gVisor, гибрид системы виртуализации и контейнеров
  5. OpenNews: Компании Intel и Hyper представили проект Kata Containers
  6. OpenNews: Intel представил Clear Linux с контейнерами приложений на базе виртуализации
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/57904-kata
Ключевые слова: kata, container
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (38) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, истина в последней инстанции (?), 00:26, 12/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –14 +/
    Если ты ниначто не способен то иди пилить браузеры или очередные контейнеры.

    Но уже сейчас можно сказать что не взлетит и останется в вечной бете.

     
     
  • 2.20, Аноним (20), 13:02, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Если ты ни на что не способен, то иди писать комментарии на опеннет и хейтить все, что не осилил
     
     
  • 3.36, Аноним (36), 00:18, 13/10/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Зачем осиливать то, что не взлетит?
     
  • 3.48, Всем Анонимам Аноним (?), 11:36, 16/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Прямо в точку.
     

  • 1.3, Аноним (3), 00:28, 12/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    >Код проекта написан на языках Go и Rust, и распространяется под лицензией Apache 2.0.

    Почему гохеры и растовики не любят gpl? Видел кучу велосипедов на этих языках, почти все они под митом или другой разрешительной лицензией.

     
     
  • 2.4, 244 (?), 01:19, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Потому что статическая линковка и особенности распространения библиотек в виде исходников.
     
  • 2.8, Аноним (8), 06:20, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Крупные корпорации в целом не любят gpl и его разновидности
     
  • 2.11, ryoken (ok), 07:58, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Может, закрыть не получается? :)
     
  • 2.25, Аноним (25), 13:33, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну хотя бы, Apache 2.0 и то уже прогресс. Хоть от патентный претязаний защищает.
     
  • 2.37, Тот_Самый_Анонимус_ (?), 04:20, 13/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А зачем любить гпл, когда есть более свободные лицензии? Ну кроме фанатизма по бредням стол-мана, фонд которого предпочитает полные права на код, а не под лицензией, которую впаривает другим.
     

  • 1.6, Аноним (6), 04:46, 12/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Раньше они говорили "А вот раньше запускали бы на виртуалках", хотя это было чистой ложью.

    Теперь они сами запускают на виртуалках.

     
  • 1.7, Аноним (7), 05:10, 12/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Буквально 10 лет назад все пыхтели "фи эти виртуалки, тратят слишком много ресурсов, другое дело контейнеры, за ними будущее, а безопасность никому не нужна, а кому нужна - используйте виртуалки". Проходит 10 лет и делают виртуалки под инфраструктуру контейнеров. Во истину человечество ходит по кругу.
     
     
  • 2.9, лютый жабби.... (?), 07:37, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Во истину человечество ходит по кругу

    тоже мне открытие

    вообще, на 90% bare metal до сих пор использую )

     
  • 2.14, Культист Бога Машин (?), 10:34, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Дело в том, что в контейнеры "смогли" только некоторые операционные системы, в основном, это ядро Linux с прямой поддержкой cgroup и namespace ( LXC, Docker, podman ). Соответственно, это направление курируют Linux Foundation + IBM ( посредством владения Rad Hat).
    Соответственно, в рамках корпоративной борьбы нужен набор технологий с похожими свойствами и API.

    Вот для этого и ушло где-то 10 лет.

    Хотя я бы делал попроще: дробил бы приложения на эпохи потребления ( 8-бит, 16-бит, 32-бит, 64-бит ) согласно масштабу и требованиям к точности. Большинство приложений, особенно микросервисной архитектуры, не имеют явной потребности в 64-битах, а уж консольные утилиты - тем более. Это бы сильно экономило память и прочее ( интересно было бы посмотреть на 32-битные ядра на современных техпроцессах - тактовую частоту и производительность ).

     
     
  • 3.16, anonymous (??), 10:46, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    https://ru.wikipedia.org/wiki/X32_ABI не взлетело
     
     
  • 4.26, Аноним (26), 13:56, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А чё не взлетело то? Вполне норм было, честные 3-5% экономии памяти.
     
  • 3.17, mumu (ok), 11:16, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    щас бы в эпоху нодыжс, электронов, томкатов, java, npm и прочих шмяк-шмяк архитектур и подходов к разработке пытаться сэкономить на регистрах, изобретая очередной велосипед. Всю эту экономию сожрёт просто подключение очередной js обёртки вокруг "print hello word"
     
     
  • 4.18, Аноним (18), 12:01, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Всё что ты описал можно запускать только в контейнерах лишь бы это и их зависимости не распространялись по системе забиваясь в самые укромные места.
     
  • 2.15, Аноним (15), 10:39, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    только теперь это виртуалки с кучей абстракций от контейнеров, еще больший оверхеад и усложненеи инфраструктуры
     
     
  • 3.19, Аноним (18), 12:03, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Т.е обмазываения баш скриптами и складирования всё с одну систему это капец как просто? 15 лет назад было не просто и сейчас не просто плавали знаем. А контейнеры и все остальное это упрощения. А то что у упрощений всегда есть оверхед так это всегда так.

    Больше железа, больше массового производства, дешевле железо. Запомни это.  

     
     
  • 4.23, Аноним (20), 13:07, 12/10/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    с кем ты разговриваешь? он systemd до сих хейтит под каждой новостью
     
     
  • 5.41, Аноним (41), 08:20, 13/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это он сильно зря.
     
  • 2.49, Всем Анонимам Аноним (?), 12:27, 16/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Контейнеры уже давно не средство экономии, а средство для выполнения приложений. В VM-ке получается смесь основной системы, настройки сетей, драйверов, мониторинга и прочего. Для получения VM-ки нужно или кому-то писать или самому создавать и потом поверх ставить всё. Часто эта VM-ка висит потом одна в одной копии и если она упадет, то несколько уровней начальства может быть задействовано чтобы восстановить. Апгрейд такого - еще такой квест, когда начинается конфликт библиотек и т.п. Вначале команда, занимающаяся инфраструктурой должна подготовить релиз новый со всеми делами, потом только уже приложения можно пробовать. В результате процесс на год или больше выходит и куча ручной работы. Все это знаю сам по опыту. А если нужно патчить всё каждый месяц?
    Контейнер отделяет приложения от инфраструктуры. Можно использовать любую основу, не обязательно то, что стоит на хосте. Image приложения будет такой же, как у программиста, так и в production. не будет такого, что какой-то пакет новый вышел, обновился на prod и все сломалось, к примеру.
    Но еще, что важно, сам контейнер можно положить уже в kubernetes, где программисту вообще ничего не нужно знать об инфраструктуре. Его приложение будет перемещаться само при сбоях. Он может использовать классные плюшки типа ingress или mesh или сквзного шифрования (важно для PCI). Патчить хосты вообще легкая задача, каждый месяц без проблем, можно автоматом просто даже. Горизонтальное масштабирование - одной командой.

    FYI работал как с 30 тыс физических серваков, так и 1000 приложений от разных команд.

     
     
  • 3.53, Аноним (53), 19:14, 18/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну если ВМ-ка раскатывается врукопашную, то - примерно так и есть.

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

    Тот же Кубер - замонаешься ковырять различия в версиях АПИ и выковыривать какая ж там сейчас через месяц снова другая её туда версия...

    И сколько стоит мэн, который легко этим жонглирует - косвенный показатель псевдо-простоты.

    Простая вещь, устроенная из сложных. Ну - да. Это физика этого мира.

     

  • 1.24, Аноним (25), 13:20, 12/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >Код проекта написан на языках Go и RustКод проекта написан на языках Go и Rust

    Нет, спасибо. Пока попользуюсь оригинальным QEMU.

     
  • 1.30, Роман (??), 14:57, 12/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В QEMU для асинхронного ввода/вывода задействован API io_uring.

    Звучит интересно, сколько и чего прироста у них при этом

     
  • 1.35, beck (??), 19:01, 12/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    В далёком 1985 году я в институте работал на ЕС ЭВМ под управлением VM, у нас она называлась СВМ -- Система Виртуальных Машин. Причём сама VM существует с 1972 года.

    За эти 50 лет ничего не изменилось. В очередной раз переписали то же самое.

     
     
  • 2.38, Аноним (38), 04:58, 13/10/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зачем работать, если можно переписывать? Так-то прогресс в 60-х остановился.
     
  • 2.40, Аноним (41), 08:19, 13/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема ЕС что это не оказалось на самом деле не Единая Система. А одна из систем из зоопарка. Даже несмотря на то что это клон IBM. IBM PowerVM тоже где-то на задворках прогресса сейчас.
     
     
  • 3.44, beck (??), 20:52, 13/10/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Я не про ЕС, а про то, что все эти виртуальные дела уже 50 лет как в продакшене. И с тех пор ничего не изменилось, ни-че-го. Никаких новых идей.

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

     
     
  • 4.51, Neon (??), 21:24, 16/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так все современные технологии родом из 20 века. 50-60 годы максимум. Ничего нового с тех пор прорывного не придумано. Обсасывают эволюционно старые идеи. И так везде. Те же электромобили чуть ли не с 19 века. Принципиально нового ничего нет.
     
  • 3.46, Аноним (38), 02:54, 15/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > ... это клон IBM

    Клонирование и оказалось тупиком. Все инженера быстро превратились в продавцов IBM-комплектухи. "Запад нам поможет!" (с)

     
  • 2.50, Neon (??), 21:22, 16/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это называется: наконец то студенты троечники открыли старый учебник.))) С какими фанфарами носились с той же Java, виртуальная машина, хотя P-код был еще в Паскале.)))
     

  • 1.39, nebularia (ok), 06:25, 13/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Грузины писали, судя по названию?)

    🇬🇪🐈

     
     
  • 2.42, PnD (??), 15:11, 13/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда уж скорее японцы. Но, скорее, просто модное слово взяли.
     
  • 2.43, Аноним (43), 20:49, 13/10/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Слово «kata» значит «форма», «внешность». Kata Containers — нечто, что имеет форму или внешность контейнеров. Какбыконтейнер.
     

  • 1.45, Аноним (43), 20:56, 13/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Колесо Сансары дало оборот.
     
  • 1.54, Аноним (53), 19:17, 18/10/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Память-процессор туда сюда обратно в хост систему и соседям легко отдаёт обратно?
     

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



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

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