Открыть сервис

Red Hat CoreOS

Red Hat CoreOS (ранее — Container Linux by CoreOS, CoreOS) — это операционная система с открытым исходным кодом, разработанная компанией Red Hat (входит в состав IBM) и предназначенная для запуска контейнеризированных приложений в кластерных средах. Относится к классу легковесных, минималистичных дистрибутивов Linux, оптимизированных для работы с оркестраторами контейнеров, в первую очередь с Kubernetes. Основные особенности — автоматическое обновление всей системы (atomic update), использование файловой системы на основе разделов (dual‑root partition scheme) и встроенная поддержка технологий контейнерной изоляции (Podman, CRI-O).

История

Происхождение (CoreOS Inc.)

Проект CoreOS был основан в 2013 году Алексеем Полуяновым, Брэндоном Филлипсом и Майклом Хорном. Первоначально система называлась CoreOS Linux и базировалась на Gentoo Linux, но позже была переписана на основе Chrome OS (с использованием ядра Linux и пакетного менеджера Portage). В 2014 году проект был переименован в Container Linux by CoreOS. Основная цель — создание операционной системы, которая не требует ручного управления пакетами и обновляется как единое целое, что критично для крупных кластеров.

Поглощение Red Hat

В январе 2018 года компания Red Hat объявила о приобретении CoreOS Inc. за 250 миллионов долларов США. После завершения сделки Red Hat начала интеграцию технологий CoreOS в свои продукты. В 2020 году Red Hat представила Red Hat CoreOS (RHCOS) как часть платформы Red Hat OpenShift — коммерческого дистрибутива Kubernetes. В 2021 году поддержка оригинального Container Linux была прекращена, а пользователям рекомендовали перейти на RHCOS или Fedora CoreOS.

Fedora CoreOS

Параллельно с RHCOS существует Fedora CoreOS — версия, поддерживаемая сообществом Fedora Project. Она служит upstream-проектом для RHCOS и предоставляет более частые обновления, но без коммерческой поддержки Red Hat.

Архитектура и принципы работы

Минимализм и атомарность

Red Hat CoreOS не имеет традиционного пакетного менеджера (apt, yum, dnf). Вместо этого вся операционная система поставляется как единый образ, который обновляется целиком (atomic update). Система использует схему с двумя корневыми разделами (active и passive): при обновлении новый образ записывается в пассивный раздел, а после перезагрузки система загружается с него. Если обновление не удаётся, система автоматически откатывается к предыдущей версии.

Файловая система

  • /usr — монтируется как read-only (только для чтения). Содержит все системные файлы, включая ядро, библиотеки и утилиты.
  • /etc — read-write (чтение и запись), но при обновлении может быть перезаписан из шаблона, если не настроено иное.
  • /var — постоянное хранилище для данных приложений, логов и конфигураций, не затрагиваемое обновлениями.
  • /run — временная файловая система (tmpfs) для runtime-данных.

Управление конфигурацией

Настройка RHCOS производится через Ignition — утилиту, которая применяет конфигурацию на этапе первой загрузки (first boot). Ignition читает JSON-файл (конфиг) и создаёт разделы, настраивает сеть, добавляет пользователей, монтирует хранилища и т.д. После первого применения конфигурация не изменяется — дальнейшие изменения вносятся через Kubernetes или через MachineConfigOperator в OpenShift.

Обновления

Обновления RHCOS распространяются через OpenShift Update Service (OSUS) или через Fedora CoreOS Update Operator (для Fedora CoreOS). Система поддерживает каналы обновлений (stable, testing, next), что позволяет тестировать новые версии перед массовым развёртыванием.

Классификация и варианты

Red Hat CoreOS существует в двух основных формах:

ВариантОписаниеПоддержка
Red Hat CoreOS (RHCOS)Коммерческая версия, входящая в состав Red Hat OpenShift.Коммерческая поддержка от Red Hat, сертифицирована для работы в корпоративных средах.
Fedora CoreOSВерсия с открытым исходным кодом, поддерживаемая сообществом Fedora.Бесплатная, обновления выходят чаще, но без SLA.

Также существует OpenShift CoreOS — вариант RHCOS, оптимизированный для работы с OpenShift Container Platform (OCP).

Применение

Контейнерные платформы

Red Hat CoreOS является операционной системой по умолчанию для узлов (control plane и worker nodes) в кластерах Red Hat OpenShift. Она также используется в OKD (Community Edition of OpenShift) и в Fedora CoreOS для самостоятельных Kubernetes-кластеров.

Преимущества для кластеров

  • Автоматизация обновлений — снижает нагрузку на администраторов, особенно в крупных кластерах (сотни и тысячи узлов).
  • Безопасность — минимальная поверхность атаки (нет лишних пакетов, read-only корневая файловая система).
  • Иммутабельность — конфигурация узла не меняется после первого запуска, что упрощает аудит и воспроизводимость.
  • Интеграция с Kubernetes — RHCOS поставляется с предустановленными CRI-O (контейнерный runtime) и kubelet.

Ограничения

  • Не подходит для универсальных серверов (нет возможности установки произвольных пакетов через apt/yum).
  • Требует хотя бы базового понимания Kubernetes и Ignition для настройки.
  • Для RHCOS необходима подписка Red Hat OpenShift (или Red Hat Enterprise Linux CoreOS).

Технические детали

Ядро и системные компоненты

RHCOS базируется на ядре Linux, скомпилированном с патчами для повышения производительности в контейнерных средах. В состав входят:

  • systemd — инициализация и управление службами.
  • Podman — инструмент для управления контейнерами (без демона, в отличие от Docker).
  • CRI-O — реализация Container Runtime Interface (CRI) для Kubernetes.
  • runc — низкоуровневый runtime для контейнеров.
  • ostreeсистема управления версиями корневой файловой системы (лежит в основе атомарных обновлений).

Сетевые возможности

RHCOS поддерживает стандартные сетевые стеки Linux (iptables, nftables, eBPF). Для работы с Kubernetes используется OpenShift SDN (на основе OVN‑Kubernetes или OpenShift‑SDN) или сторонние CNI-плагины (Calico, Cilium и др.).

Хранилище

Для постоянного хранения данных RHCOS использует LVM (Logical Volume Manager) и XFS (файловая система по умолчанию). Поддерживаются различные типы хранилищ: локальные диски, NFS, Ceph (через Rook), облачные блочные устройства (EBS, Persistent Disk и т.д.).

Интересные факты

  • Название «CoreOS» происходит от «Core Operating System» — подчёркивая, что это минимальное ядро для запуска контейнеров.
  • Изначально CoreOS использовал файловую систему Btrfs для снапшотов, но в RHCOS перешли на ostree.
  • Fedora CoreOS можно установить на bare‑metal, виртуальные машины (VMware, KVM, Hyper‑V) и облачные платформы (AWS, GCP, Azure).
  • С 2023 года Red Hat CoreOS также доступен для архитектуры ARM64 (aarch64), что позволяет разворачивать кластеры на Raspberry Pi и других ARM-серверах.

Критика и ограничения

  • Зависимость от экосистемы Red Hat — RHCOS тесно связан с OpenShift, что затрудняет его использование вне этой платформы.
  • Сложность настройки — Ignition требует знания JSON/YAML, а для нестандартных конфигураций приходится писать собственные скрипты.
  • Отсутствие обратной совместимости — некоторые обновления могут ломать пользовательские конфигурации, если они не соответствуют шаблонам.
  • Ресурсоёмкость — несмотря на минимализм, RHCOS требует не менее 4 ГБ оперативной памяти для комфортной работы узла Kubernetes (рекомендуется 8 ГБ).

Источники

  • Red Hat. «Red Hat CoreOS Documentation» (2023).
  • Fedora Project. «Fedora CoreOS Documentation» (2024).
  • CoreOS Inc. «Container Linux by CoreOS — End of Life Announcement» (2020).
  • OpenShift Container Platform 4.x Documentation. «Understanding Red Hat CoreOS».
  • Linux Foundation. «Kubernetes Documentation: Operating Systems» (2024).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →