Об этом проекте
Bottlerocket OS — это бесплатная операционная система с открытым исходным кодом на базе Linux, разработанная Amazon для безопасного и надёжного размещения контейнерных рабочих нагрузок. В отличие от традиционных дистрибутивов общего назначения, Bottlerocket минимизирует поверхность атаки, исключая из среды выполнения по умолчанию ненужные компоненты, такие как менеджеры пакетов и интерактивные оболочки. Архитектура системы ориентирована на безопасность, удобство сопровождения и согласованность.
Ключевые особенности:
- Неизменяемая файловая система: корневая файловая система доступна только для чтения, что предотвращает несанкционированные или случайные изменения, способные нарушить стабильность.
- Конфигурация через API: параметры системы управляются через локальный HTTP API вместо ручного редактирования файлов. Это обеспечивает структурированные и проверенные изменения конфигурации, которые автоматически переносятся при обновлениях.
- Надёжные обновления: в Bottlerocket используется механизм обновлений с двумя разделами (разделы A/B). Система загружает полные образы файловой системы, защищённые с помощью The Update Framework (TUF), и перезагружается в новую версию. Если загрузка не удаётся, выполняется автоматический откат к предыдущему состоянию.
- Хост-контейнеры: задачи управления изолированы в отдельных контейнерах (управляющий и административный контейнеры), работающих вне основного оркестратора, что гарантирует отсутствие влияния служебных операций на производительность рабочих нагрузок.
Поддерживаемые среды:
Bottlerocket предлагает отдельные варианты, адаптированные под различные оркестраторы контейнеров и облачные платформы:
- AWS EKS (Kubernetes): варианты от `aws-k8s-1.31` до `1.36`, включая версии с поддержкой графических процессоров NVIDIA.
- AWS ECS: варианты, такие как `aws-ecs-2` и `aws-ecs-3`, поддерживающие стандартный режим и режим соответствия FIPS.
- VMware: варианты рабочих узлов Kubernetes (`vmware-k8s-*`).
Доступ и управление:
По умолчанию SSH отключён для повышения безопасности. Администраторы могут получить доступ к системе следующими способами:
1. Управляющий контейнер: использует AWS Systems Manager (SSM) Session Manager для выполнения команд и просмотра журналов без сетевого доступа.
2. Административный контейнер: необязательный контейнер, предоставляющий доступ по SSH для расширенной отладки и доступа к корневой оболочке через `sheltie`.
Конфигурация выполняется с помощью инструмента `apiclient` или путём передачи параметров в формате TOML/JSON при инициализации экземпляра. Система поддерживает различные параметры, включая интеграцию с кластером Kubernetes, настройку агента ECS, сетевые прокси, NTP, параметры ядра и пользовательские сертификаты ЦС.
Сообщество и участие:
Развитию Bottlerocket способствует участие сообщества через обсуждения на GitHub и группы Meetup. Вклад в проект приветствуется через руководство для участников. О проблемах безопасности следует сообщать напрямую команде безопасности, а не в публичные системы отслеживания ошибок.
Архитектуры:
ОС поддерживает архитектуры x86_64 и ARM64 (aarch64), что делает её подходящей для широкого спектра аппаратных конфигураций у поддерживаемых облачных провайдеров.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.