Rocket

0
Ваша оценка: Нет

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

Rocket нацелен на манипуляцию контейнерами, построенными в соответствии со спецификацией App Container, также предложенной проектом CoreOS и нацеленной на создание универсального переносимого формата контейнеров.

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

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

Для создания контейнеров и организации их изолированного выполнения применяются те же штатные механизмы ядра Linux, что в Docker - пространства имён (namespaces) и группы управления (cgroups). При этом, для управления контейнером используются средства запуска изолированных окружений, предоставляемые системным менеджером systemd. Для управления предложена новая консольная утилита rkt, предоставляющая набор команд, похожий на docker. Как и Docker, код Rocket написан на языке Go и поставляется под лицензией Apache 2.0.

Следование универсальной спецификации App Container, определяющей окружающие контейнер службы, позволяет создавать независимые собственные реализации, совместимые с Rocket. Более того, в будущем, когда App Container достигнет зрелости, планируется подготовить реализацию данной спецификации для Docker, что позволит обеспечить переносимость обоих проектов.

Сайт разработчика: https://coreos.com/blog/rocket/
Что почитать?


Разместил: vikos 14 Декабрь 2014 в 11:09