The OpenNET Project / Index page

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

20.04.2017 18:27  Docker представил Moby и LinuxKit для построения произвольных систем контейнерной изоляции

Компания Docker представила два новых проекта Moby и LinuxKit, предоставляющих инструменты для создания произвольных систем контейнерной изоляции. Moby позволяет комбинировать готовые компоненты и фреймворки для создания систем на базе контейнеров, а LinuxKit предоставляет средства для формирования минимальной операционной системы для запуска контейнеров. Код написан на языке Go и распространяется (LinuxKit, Moby) под лицензией Apache 2.0.

Moby даёт возможность манипулировать готовыми блоками для построения специализированных систем контейнерной изоляции, создавая результирующую систему по кирпичикам по аналогии с конструктором Лего. Предоставляются различные варианты компонентов, охватывающих все аспекты работы систем контейнерной изоляции, включая ОС, runtime, средства оркестровки, инструменты управления инфраструктурой, сетевые подсистемы, хранилища, средства безопасности, сборочные инструменты и механизмы доставки образов. Каждый компонент оформлен в виде контейнера, поэтому создание новых компонентов производится через подготовку OCI-совместимых контейнеров.

Кроме коллекции компонентов, Moby также предлагает специальный инструментарий, который даёт возможность собрать компоненты в форму, готовую для выполнения на выбранных архитектурах и платформах: для установки на конечное оборудование (x86, ARM), в виде исполняемых файлов для Linux, macOS и Windows или образов виртуальных машин для популярных облачных платформ и систем виртуализации. Завершающим звеном является набор эталонных схем компоновки Moby Origin, которые можно использовать в качестве шаблона для связывания компонентов в рабочую систему. В частности, доступен шаблон для формирования из компонентов Moby типовой системы Docker.

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

LinuxKit дополняет Moby и представляет собой тулкит для сборки защищённых, переносимых и компактных операционных систем для Linux-контейнеров. При помощи LinuxKit администратор может сформировать образ ОС, содержащий только минимально необходимый набор компонентов, достаточных для запуска контейнеров. Все системные сервисы в LinuxKit оформлены в виде контейнеров и могут быть заменены или удалены. Минимальный размер сборки, достаточной для запуска контейнеров - 35 Мб.

Конфигурация сборки определяется в виде YAML-спецификации, на основе которой LinuxKit может подготовить загрузочный образ. В спецификации указывается ядро, процесс инициализации, список контейнеров для запуска, набор системных сервисов, дополнительные файлы для включения в сборку и формат вывода (например, ISO). В качестве основы используются компоненты пространства пользователя дистрибутива Alpine Linux, в том числе системной библиотеки Musl.

Для повышения безопасности используются патчи PaX и SSP (Stack Smashing Protection, -fstack-protector), а для полноценного использования ASLR при сборке формируются исполняемые файлы PIE (Position-Independent Executable). В перспективе планируется переписать системные компоненты на безопасных языках Rust, Go или OCaml и выполнять их в режиме максимальной изоляции, благодаря сборке в виде самодостаточных "unikernel", развитием которых занимался перешедший в руки Docker проект MirageOS. Пока на базе unikernel реализован только сервис dhcp, но по мере развития всё больше системных компонентов будут переписываться из Си на безопасные языки и поставляться в форме unikernel.

Особенности LinuxKit:

  • Ориентация на предоставление максимальной безопасности по умолчанию, без негативного влияния на удобство работы;
  • Все составные части могут быть заменены и перенастроены;
  • Постоянная инфраструктура для сборки Linux-дистрибутивов;
  • Работа без сохранения состояния (stateless), но с возможностью подключения отдельного постоянного хранилища;
  • Простой инструментарий и простые средства интеграции;
  • Построение на основе контейнеров и для выполнения контейнеров;
  • Рассчитан на сборку и выполнение кластерных приложений, но без привязки к конкретным средствам оркестровки, таким как Docker или Kubernetes;
  • Создан в процессе разработки Docker Editions, но преобразован в тулкит общего назначения;
  • Рассчитан на использования внешних управляющих инструментариев, таких как Infrakit.

Docker намерен перевести все свои открытые разработки в проект Moby, в том числе разбить движок на серию компонентов, отделить интерфейс пользователя и SDK, открыть новые инструменты, используемые в процессе работы над платформой Docker. Также планируется внедрить сфокусированную на сообществе модель управления, структура которой будет напоминать Fedora для достижения оптимального баланса между интересами сообщества и корпоративного спонсора.

  1. Главная ссылка к новости (https://blog.docker.com/2017/0...)
  2. OpenNews: Intel представил Clear Linux с контейнерами приложений на базе виртуализации
  3. OpenNews: Выпуск MirageOS 2.5, платформы для запуска приложений поверх гипервизора
  4. OpenNews: Перевод официальных образов Docker с Ubuntu на Alpine
  5. OpenNews: Первый стабильный выпуск RancherOS, минималистичной ОС на базе контейнерной изоляции
  6. OpenNews: Первый стабильный выпуск серверной Linux-системы CoreOS
Лицензия: CC-BY
Тип: Интересно / Программы
Ключевые слова: docker, container
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.2, Аноним (-), 19:50, 20/04/2017 [ответить] [показать ветку] [···]    [к модератору]
  • +5 +/
    В анонсе "without having to reinvent the wheel". Ну да, Docker не изобретал колесо, а лишь  изобрёл свой велосипед и припарковал его рядом с Atomic, CoreOS, Clear Linux и RancherOS :-)
     
     
  • 2.4, F (?), 19:56, 20/04/2017 [^] [ответить]     [к модератору]
  • +1 +/
    Так они без него то же придумали, и уже едут на нем докере сами, и себе сливки... весь текст скрыт [показать]
     
     
  • 3.14, Аноним (-), 23:10, 20/04/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    >Тем более что докер - это использование того, что ядро и так умело

    Зато со 100%-ым вендор-локом!

     
  • 2.8, 123 (??), 21:00, 20/04/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    Ага и все эти поделки - пародия на FreeBSD jail Которому 100 лет в обед ... весь текст скрыт [показать]
     
     
  • 3.9, Анонимм (??), 21:25, 20/04/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Машины сравнивать с колёсами...
     
     
  • 4.17, пох (?), 01:20, 21/04/2017 [^] [ответить]     [к модератору]  
  • +/
    jail - это вполне законченная машина в отличие от lxc cgroups прочих деталей до... весь текст скрыт [показать]
     
     
  • 5.18, Аноним (-), 02:07, 21/04/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    Ты поехавший, сравниваешь jail с lxc, когда новость про докер
     
     
  • 6.20, кверти (ok), 03:31, 21/04/2017 [^] [ответить]    [к модератору]  
  • +/
    Не обращай внимания, у него уже от возраста крышу снесло. Ну его нафик до такого маразма доживать...
     
  • 6.48, пох (?), 00:56, 23/04/2017 [^] [ответить]     [к модератору]  
  • +/
    докер - всего лишь вшивая скриптовая обертка, над _стандартными_ механизмами ядр... весь текст скрыт [показать]
     
     
  • 7.52, RomanCh (ok), 07:27, 26/04/2017 [^] [ответить]     [к модератору]  
  • +/
    Всё прикладное ПО, всего лишь вшивая скриптовая обёртка над стандартными механи... весь текст скрыт [показать]
     
  • 5.21, Аноним (-), 03:55, 21/04/2017 [^] [ответить]    [к модератору]  
  • +6 +/
    > полноценное ограничение процессора/памяти (ок, не "полноценное",
    > а хотя бы не хуже чем у докеров)...

    [code]
    rctl -a user:vasyan:memoryuse:sigterm=1337M/process
    rctl -a user:vasyan:swapuse:sigterm=1337M/process
    rctl -a jail:vasyanjail:memoryuse:log=1336M/user
    rctl -a jail:vasyanjail:memoryuse:deny=1337M/jail

    rctl -a (jail|user|process):vasyanX:pcpu:deny=25
    [/code]
    >  pcpu               %CPU, in percents of a single CPU core

     
  • 5.26, Валик228 (?), 06:39, 21/04/2017 [^] [ответить]     [к модератору]  
  • –2 +/
    jail твой дырявый не умеет полноценного ограничения ресурсов, ибо это просто наб... весь текст скрыт [показать]
     
     
  • 6.33, Аноним (-), 13:32, 21/04/2017 [^] [ответить]    [к модератору]  
  • +6 +/
    > ибо это просто набор костылей над чрутом.

    Экспертус Анонимус детектeд?
    > гугли чего умеет network-namespaces и pid-namespaces в этом плане...

    Т.е. ты даже сам толком не знаешь?

    > например, как в jail мне ограничить полосу пропускания сети, вообще i/o?

    Молча глянув в ман?
    [code]
           readbps            filesystem reads, in bytes per second
            writebps           filesystem writes, in bytes per second
            readiops           filesystem reads, in operations per second
            writeiops          filesystem writes, in operations per second

    ACTIONS
            action
            deny               deny the allocation; not supported for cputime,
                               wallclock, readbps, writebps, readiops, and
                               writeiops
            log                log a warning to the console
            devctl             send notification to devd(8) using system = "RCTL",
                               subsystem = "rule", type = "matched"
            sig*               e.g. sigterm; send a signal to the offending
                               process.  See signal(3) for a list of supported
                               signals
            throttle           slow down process execution; only supported for
                               readbps, writebps, readiops, and writeiops.
    [/code]

    > jail твой дырявый

    А неплохо у вас подгорает )

     
     
  • 7.37, тень_pavel_simple (?), 19:23, 21/04/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    firewall дай запилить, таблицу маршрутов тоже хотелось-бы рихтануть

    не? не подгорает?

     
     
  • 8.39, Аноним (-), 20:13, 21/04/2017 [^] [ответить]    [к модератору]  
  • +/
    > firewall дай запилить, таблицу маршрутов тоже хотелось-бы рихтануть

    Кто-то не дает или религиозные причины не позволяют?
    > не? не подгорает?

    Откуда мне знать, как там у тебя и что?


     
     
  • 9.41, тень_pavel_simple (?), 21:50, 21/04/2017 [^] [ответить]     [к модератору]  
  • +/
    а что jail уже умеет в это не сливайся анон ... весь текст скрыт [показать]
     
     
  • 10.44, Аноним (-), 00:26, 22/04/2017 [^] [ответить]     [к модератору]  
  • +/
    http freebsd-jail freebsd narkive com 2YVmxAdB vnet-jail-with-ipfw-having-logg... весь текст скрыт [показать]
     
     
  • 11.49, тень_pavel_simple (?), 16:48, 23/04/2017 [^] [ответить]     [к модератору]  
  • +/
    таки я правильно понимаю, что работу ipwf внутри jail а ты решил продемонстриров... весь текст скрыт [показать]
     
     
  • 12.50, Аноним (-), 18:28, 23/04/2017 [^] [ответить]     [к модератору]  
  • +/
    Таки я правильно понимаю, что даже прочитать заголовок ты опять неосилил А уж т... весь текст скрыт [показать]
     
  • 8.51, Закулисный Анонимный Рассказчик (?), 20:45, 23/04/2017 [^] [ответить]     [к модератору]  
  • +/
    code man jail vnet Create the jail with its own virtual network stack, with... весь текст скрыт [показать]
     
  • 7.45, Валик228 (?), 09:20, 22/04/2017 [^] [ответить]     [к модератору]  
  • –2 +/
    глупыш, ты даже и не понял о чем речь это из-за твоей ограниченности тоннельно... весь текст скрыт [показать]
     
     
  • 8.46, Аноним (-), 17:24, 22/04/2017 [^] [ответить]     [к модератору]  
  • +/
    Что сказать-то хотел, умный ты наш Ты бы определился уже, о чем байки травить, ... весь текст скрыт [показать]
     
  • 3.24, cmp (ok), 04:59, 21/04/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    ахаха, все ваше бсд пародия на ОС, пыжится из под пыли и толком нехрена не может, не десктоп ни сервер, не встраемаемой оси ни виртуализации.
     
  • 3.32, PnDx (ok), 12:31, 21/04/2017 [^] [ответить]     [к модератору]  
  • –1 +/
    Solaris zones же Попробовал найти свои хинты того времени, но там про зоны то... весь текст скрыт [показать]
     
     
  • 4.47, пох (?), 00:15, 23/04/2017 [^] [ответить]     [к модератору]  
  • +/
    не знаю, когда они это дизайнили и кому с того было щастье , но solaris 10, н... весь текст скрыт [показать]
     
  • 1.5, Аноним (-), 20:13, 20/04/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –4 +/
    > планируется переписать системные компоненты на безопасных языках Rust, Go или OCaml

    LOL, как может язык быть безопасным? Хипстерские ярлыки?

     
     
  • 2.7, 123 (??), 20:59, 20/04/2017 [^] [ответить]    [к модератору]  
  • +3 +/
    PHP-шник что-ле?  Управление памятью, изоляция контекста потока и тд сильно снижает количество дыр в программе.  
     
     
  • 3.13, anonymous (??), 23:01, 20/04/2017 [^] [ответить]    [к модератору]  
  • –1 +/
    > Управление памятью, изоляция контекста потока и тд сильно снижает количество дыр в программе.

    Программа не работает, но не работает совершенно безопасно.

     
     
  • 4.23, Аноним (-), 04:03, 21/04/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    А этим модно-молодежным самобеглым коляскам нужна куча высокотехнологичных запча... весь текст скрыт [показать]
     
     
  • 5.25, cmp (ok), 05:11, 21/04/2017 [^] [ответить]     [к модератору]  
  • +/
    Ага, дхцп оне на го переписали, смех да и только, ip проектрировался с оглядкой ... весь текст скрыт [показать]
     
     
  • 6.34, Аноним (-), 13:55, 21/04/2017 [^] [ответить]     [к модератору]  
  • +/
    Cравнил жо у с пальцем А сишка проектировалась с оглядкой на такие системы, на... весь текст скрыт [показать]
     
  • 6.38, тень_pavel_simple (?), 19:24, 21/04/2017 [^] [ответить]    [к модератору]  
  • +/
    тот dhcp который написали ISC'шники лучше-бы вообще никто не писАл
     
  • 3.55, Смотрящий (?), 12:52, 27/04/2017 [^] [ответить]     [к модератору]  
  • +/
    Погоди, не спрыгивай с темы, выше было сказано безопасно, а ты уже перекручивае... весь текст скрыт [показать]
     
  • 1.10, Аноним (-), 21:44, 20/04/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Конфигурация должна определятся в Nix с автоматической переборкой и зависимостями. Все другие варианты - ад и погибель. А уж как оно потом деплоится - не важно.
     
  • 1.15, eleksir (?), 23:20, 20/04/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Интересно, а посоны позаботились о воспроизводимости сборки?
    А то вся Go экосистема может гарантированно собраться только здесь и сейчас, так как тянет в момент сборки (sic!) всё с гитхаба и кроме того, далеко не для всех компонент прописаны версии и поэтому берутся крайние, а если проект переехал или вдруг выкатили большое изменение, то какбэ... всё, ничего не собирается...

    Помнится мне понадобилось для некоторой "экзотической" архитектуры (armv7 с каким-то странным линуксом) для автоматизации процесса тестирования собрать этот сраный Докер - хрен там! ни одна версия собираться не хотела, а предсобраных бинарей под это чЮдо не было... Хорошо, что на свете оказался lxc, который в данной ситуации не облажался, так как написан на более правильном для этих задач языке, на С.

     
     
  • 2.19, angra (ok), 02:45, 21/04/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    В само Go средства сборки без зависимости от github и прочего предоставляет ЕМНИ... весь текст скрыт [показать]
     
  • 2.28, anonymous (??), 07:08, 21/04/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > ... так как тянет в момент сборки (sic!) всё с гитхаба и кроме того,

    Спасибо за эту инфу!

     
     
  • 3.36, _ (??), 19:09, 21/04/2017 [^] [ответить]    [к модератору]  
  • +/
    Это не нифа - это брехня :-\  Вендоринг сделали жизнь назад - с 1.5
     
     
  • 4.42, anonymous (??), 23:09, 21/04/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    А что им мешает двинуть это обратно? Само появление на публике такого "решения" говорит о вменяемости решениепринимателей. Ещё раз спасибо, Вы сэкономили мне время.
     
  • 2.40, Аноним (-), 20:35, 21/04/2017 [^] [ответить]    [к модератору]  
  • +/
    > тянет в момент сборки (sic!) всё с гитхаба

    С 1.5 это уже не так, но ты же не осилил.

     
  • 1.16, Неиилюзорная Фтопка Локалхоста (?), 23:49, 20/04/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Объясните, пожалуйста, по-русски, без энтерпрайз фигни: что это? Docker переименовали в Moby? Или Moby - это либа, в которую вынесли компоненты Docker? Или теперь свободная версия Docker будет называться Moby, а энтерпрайзная - Docker? Я ничего не пони
     
     
  • 2.27, анонанонанонанино (?), 06:53, 21/04/2017 [^] [ответить]    [к модератору]  
  • +2 +/
    Переименуются в MobyDock и админы отправятся на охоту за белым китом виртуализации.
     
     
  • 3.30, ubob (??), 10:20, 21/04/2017 [^] [ответить]    [к модератору]  
  • +/
    главное чтоб за синим не бегали
     
  • 3.56, Аноним (-), 12:59, 27/04/2017 [^] [ответить]    [к модератору]  
  • +/
    Да-да мобиленд и мобиворлд не за горами.
     
  • 2.29, Аноним (-), 09:43, 21/04/2017 [^] [ответить]    [к модератору]  
  • +/
    Moby это эксперементы для быстрой сборки апстрим фич, не для продакшена и апликух.
     
     
  • 3.35, Уровень Предприятия (?), 14:32, 21/04/2017 [^] [ответить]    [к модератору]  
  • +/
    Каких фич? Там будут фичи, которых не будет в Docker? А Docker до сих пор нельзя быстро собрать?
     
     
  • 4.57, Аноним (-), 13:02, 27/04/2017 [^] [ответить]     [к модератору]  
  • +/
    Разных Конечно, иначе бы не было отдельного продукта Видимо нет, раз начали пили... весь текст скрыт [показать]
     
  • 1.22, Аноним (-), 03:59, 21/04/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А где же ACI и rkt который отлично интегрируется с systemd и journal решая кучу проблем а точки зрения администрирования?Пипл хавает.
     
  • 1.31, via (??), 12:22, 21/04/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Не, ну, это  systemd-капец. Alpine на openrc.  
     
     
  • 2.43, Аноним (-), 23:20, 21/04/2017 [^] [ответить]     [к модератору]  
  • +1 +/
    Не совсем Есть такой projectatomic io с серьезными участниками Там и systemd и... весь текст скрыт [показать]
     

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


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