Выпуск RancherOS 1.1, минималистичной ОС на базе контейнерной изоляции
5 сентября 2017 года
Представлен выпуск операционной системы RancherOS 1.1, предоставляющей средства для изолированного выполнения приложений. Проект основан несколькими известными разработчиками из компании Citrix и бывшими руководителями Cloud.com. Код системы написан на языке Go и распространяется под лицензией Apache. Размер загрузочного образа составляет всего 59 Мб. Кроме установки на отдельный сервер, система также может быть развёрнута в окружении облачных платформ и систем виртуализации Amazon EC2, Digital Ocean, Docker Machine, GCE, KVM, OpenStack, Packet, Vagrant, VMware и VirtualBox, а также установлена на платах Raspberry Pi.
Небольшой размер загрузочного образа объясняется тем, что RancherOS предоставляет минимальную обвязку, которая включает только компоненты, необходимые для запуска изолированных контейнеров. Обновление производится атомарно на уровне замены целых контейнеров. По решаемым задачам система напоминает проекты Atomic и CoreOS, отличаясь от них отказом от системного менеджера systemd в пользу собственной системы инициализации, построенной непосредственно на базе инструментария Docker. Запуск сервисов в RancherOS осуществляется через запуск готовых контейнеров с использованием compose-файлов (docker-compose.yml).
Архитектуру RancherOS составляет набор контейнеров, которыми управляет системное окружение на базе ядра Linux, образа начальной загрузки (initrd) и минимального инструментария, необходимого для запуска контейнеров на базе системы Docker. Всё остальное, включая udev, dhcp, ntp, cloud-init и rsyslog, запускается внутри отдельных системных контейнеров. Над контейнерами функционирует только процесс Docker, выполняемый с PID 1. Пользовательский инструментарий и демон dockerd для запуска пользовательских контейнеров также выполняется в отдельном контейнере User Docker.
Имеется также специальный системный контейнер Сonsole, предоставляющий пользовательское окружения для управления RancherOS в консольном режиме. По умолчанию консольное окружение доступно по ssh и сформировано с использованием инструментария Busybox, но при желании в качестве консоли можно подключить полноценные программные окружения на основе Ubuntu, CentOS или Fedora. Для настройки также можно использовать web-интерфейс Rancher.io. Между перезапусками сохраняется только содержимое разделов /opt и /home, всё остальное возвращается в исходное состояние. Конфигурация окружения передаётся во время загрузки через механизм cloud-init или определяется командой "rancherctl config" и затем сохраняется в специальный файл конфигурации.
Ключевые новшества RancherOS 1.1:
- Обновлены системные компоненты, в том числе ядро Linux 4.9.45 и инструментарий Docker. По умолчанию предлагается Docker 17.03.2, но в качестве опции доступен выпуск 17.06.1 и более ранние версии, начиная с 1.12;
- Добавлена поддержка гипервизора VMWare ESXi, который автоматически определяется и для него активируется набор модулей open-vm-tools во время загрузки. Также автоматически загружаются настройки, определённые в VMWare;
- Обеспечена предварительная поддержка загрузки модулей для гипервизоров Xen, KVM и HyperV, но соответствующие сервисы для них пока не включены в поставку;
- Добавлена поддержка автоопределения систем виртуализации vbox, xen и paralells;
- Реализовано интерактивное загрузочное меню на базе Syslinux с опциями для отладки, входа, восстановления и редактирования настроек;
- Добавлена консоль для восстановления в случае сбоя, вызываемая на раннем этапе загрузки;
- Добавлен сервис для ротации логов и cron для периодического выполнения заданий;
- Обеспечено сохранение отладочной информации в файл /var/log/boot и добавлена возможность использования параметров ядра netconsole для отправки логов на внешний сервер;
- Добавлена возможность перезагрузки с использованием kexec (reboot --kexec) при которой ядро перезагружается без передачи управления BIOS;
- Добавлена возможность монтирования сетевых разделов по NFS в конфигурации на базе cloud-config.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.