Страницы

2015-02-27

RancherOS - ещё одна ОС, по принципу контейнерной изоляции

Анонсирована новая операционная система RancherOS, напоминающая по своей сути проекты Atomic и CoreOS, и также предоставляющая минимальную обвязку для запуска изолированных контейнеров. Ключевым отличием RancherOS является отказ от использование системного менеджера systemd и использование собственной системы инициализации, построенной непосредственно на базе инструментария Docker. Код системы написан на языке Go и распространяется под лицензией Apache. Проект основан несколькими известными разработчиками из компании Citrix и бывшими руководителями Cloud.com.

Размер загрузочного образа RancherOS составляет всего 20 Мб. Всё в RancherOS является контейнером. Системное окружение RancherOS скомпоновано в виде ядра Linux и образа начальной загрузки (initrd) и содержит абсолютный минимум, необходимый для запуска контейнеров на базе системы Docker. Всё остальное, включая udev, dhcp, ntp, cloud-init и rsyslog, запускается внутри отдельных системных контейнеров. Над контейнерами функционирует только процесс Docker, выполняемый с PID 1. Пользовательский инструментарий и демон dockerd для запуска пользовательских контейнеров также выполняется в отдельном контейнере User Docker.

Имеется также специальный системный контейнер Сonsole, предоставляющий пользовательское окружения для управления RancherOS в консольном режиме. По умолчанию консольное окружение доступно по ssh и сформировано с использованием инструментария Busybox, но при желании в качестве консоли можно подключить полноценные программные окружения на основе Ubuntu, CentOS или Fedora. Между перезапусками сохраняется только содержимое разделов /opt и /home, всё остальное возвращается в исходное состояние. Конфигурация окружения передаётся во время загрузки через механизм cloud-init или определяется командой "rancherctl config" и затем сохраняется в специальный файл конфигурации. Для настройки также можно использовать web-интерфейс Rancher.io. Обновление производится атомарно на уровне обновления целых контейнеров, в форме пакетов docker также обновляются ядро и образ начальной загрузки (initrd).

source1
source2

Комментариев нет:

Отправить комментарий