Контейнеры и оркестрация

Изоляция контейнеров

Определение

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

Также ищут: Container isolation · граница безопасности контейнера · изоляция рабочей нагрузки

Зачем это знать

Образ с непривилегированным процессом и тот же образ с широким доступом к узлу имеют разный риск. Перед размещением приложений разных заказчиков проверьте общие ресурсы и разрешения. Требование изоляции нельзя закрыть одной строкой «работает в контейнере».

Связи из словаря

Карта понятия

Изоляция контейнеров
Доказательная часть

Что подтверждено

  1. Изоляция контейнера Linux складывается из нескольких механизмов. Пространства имён разделяют видимость, cgroup ограничивает потребление, а полномочия и правила доступа определяют разрешённые действия.

    Граница применимости: Механизмы изоляции обычного контейнера процессов Linux.

  2. Обычные контейнеры Linux разделяют ядро узла. Границу отказа или компрометации такого контейнера нельзя автоматически приравнивать к виртуальной машине с отдельным гостевым ядром.

    Граница применимости: Контейнеры уровня операционной системы; дополнительная изоляция виртуальной машиной вне этой области.

  3. Подключение каталога узла с правом записи даёт процессу возможность менять доступные ему файлы этого каталога. Отдельная корневая файловая система контейнера не отменяет явно выданный доступ.

    Граница применимости: Подключения файловых систем и права процесса в конфигурации OCI для Linux.

  4. Корневая файловая система только для чтения не делает все данные контейнера неизменяемыми: отдельно подключённые каталоги могут оставаться доступными для записи. Их права задаются независимо.

    Граница применимости: Настройка корневой файловой системы и отдельных подключений в OCI Runtime Specification.

  5. Полномочия ядра Linux и фильтр системных вызовов ограничивают разные стороны действий процесса. Снятие одного полномочия не заменяет проверку подключений, устройств и остальных разрешений.

    Граница применимости: Настройки полномочий, системных вызовов и устройств в конфигурации контейнера OCI для Linux.

  6. Раздельная сеть и список процессов не защищают узел от исчерпания памяти соседним контейнером. Ограничения ресурсов нужно настраивать и проверять отдельно от изоляции видимости.

    Граница применимости: Сопоставление пространств имён Linux и контроллеров cgroup v2.

Граница терминов

Не путать

Изоляция контейнеров Контейнер приложения

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

Перед спецификацией

Что проверить

  1. Назовите, от кого защищаете нагрузку: от ошибки приложения, соседнего арендатора или администратора узла.
  2. Определите, разделяют ли нагрузки ядро, сеть и список процессов.
  3. Проверьте пользователя процесса и выданные ему полномочия ядра.
  4. Перечислите каталоги и устройства узла, доступные контейнеру.
  5. Проверьте права записи каждого подключения отдельно от корневой файловой системы.
  6. Проверьте фильтр системных вызовов и совместимость ограничений с приложением.
  7. Испытайте ограничения памяти и процессора при одновременной нагрузке соседей.
Открытые основания

Первоисточники

  • Стандарт1
  • Документация2
  • Официальная документация
    namespaces(7) — Linux manual page Linux man-pages project · Linux man-pages 6.18 · проверено

    Описывает отдельные представления системных ресурсов в пространствах имён Linux и перечисляет изолируемые классы объектов.

    Утверждения: 01 · 02 · 06

  • Официальная документация
    Control Group v2 The Linux Kernel documentation · Linux kernel latest documentation · проверено

    Описывает иерархическое распределение ресурсов, контроллеры, ограничения, учёт потребления и пространство имён cgroup.

    Утверждения: 01 · 06

  • Первичная спецификация
    Open Container Initiative Runtime Specification Open Container Initiative · OCI Runtime Specification, November 2025 · проверено

    Определяет подготовленный пакет контейнера, config.json, окружение процесса и операции жизненного цикла.

    Утверждения: 01 · 02 · 03 · 04 · 05

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие