Pod объединяет один или несколько контейнеров для совместного размещения и общей сети. Контейнер — отдельный запускаемый экземпляр процесса. Увеличение числа контейнеров внутри Pod не распределяет приложение по серверам.
Почему это важно
Два контейнера внутри одного Pod теряются вместе с его узлом. Это полезно для тесно связанных частей приложения, но не заменяет резервирование. Для масштабирования, независимого восстановления и распределения по узлам нужны отдельные Pod под управлением контроллера.
Что подтверждено
Kubernetes размещает контейнеры одного Pod вместе на одном узле. Они разделяют сетевое пространство и могут иметь общие тома, указанные в спецификации Pod.
Граница применимости: Модель обычного Pod Kubernetes.
Два контейнера в одном Pod не дают двух независимых от узла копий сервиса: они размещены вместе и теряются при отказе этого узла. Для резервирования нужны отдельные Pod и проверка их распределения по узлам.
Граница применимости: Контейнеры внутри Pod и распределение отдельных Pod Kubernetes.
Контейнеры одного Pod используют общее сетевое пространство и могут обращаться друг к другу через localhost. Они разделяют адрес и пространство портов, поэтому использование портов между контейнерами нужно согласовать.
Граница применимости: Общая сеть контейнеров обычного Pod Kubernetes.
Общий том нужно объявить в Pod и подключить к нужным контейнерам. Наличие контейнеров в одном Pod не объединяет автоматически все их корневые файловые системы.
Граница применимости: Общие тома и файловые системы контейнеров Pod Kubernetes.
Перезапуск контейнера может происходить внутри того же Pod. Замена самого Pod создаёт другой объект с новым UID, даже если имя нового объекта совпадает с прежним.
Граница применимости: Жизненный цикл Pod и контейнеров Kubernetes.
Созданный отдельно Pod не получает всех свойств управляемого приложения. Контроллер нагрузки, например Deployment, поддерживает нужное число Pod и создаёт замену в рамках своей модели.
Граница применимости: Создание Pod непосредственно и через контроллеры Kubernetes.
Не путать
Что проверить
- Обоснуйте, почему контейнеры должны запускаться и восстанавливаться вместе.
- Проверьте общие порты и обращения через localhost.
- Укажите общие тома и подключения каждого контейнера.
- Отделите перезапуск контейнера от замены Pod с новым UID.
- Укажите контроллер, который должен поддерживать число экземпляров.
- Для резервирования создайте отдельные Pod и проверьте их размещение по независимым узлам.
- Проверьте, какие данные сохранятся после удаления Pod.
Первоисточники
Pods
Kubernetes · Kubernetes current documentation
Определяет Pod как минимальную единицу размещения с контейнерами на одном узле, общей сетью и возможностью подключать общие тома.
Открыть первоисточникPod Topology Spread Constraints
Kubernetes · документация Kubernetes v1.37, страница открыта 6 сентября 2026 года
Открыт редактором 6 сентября 2026 года, заголовок и версия документа сверены. Распределение Pod по меткам узлов и доменам отказа; жёсткое и мягкое требование.
Открыть первоисточникPod Lifecycle
Kubernetes · Kubernetes current documentation
Описывает назначение узла, состояния Pod и контейнеров, перезапуски контейнеров и создание нового Pod с другим UID взамен прежнего.
Открыть первоисточникDeployments
Kubernetes · Kubernetes current documentation
Описывает управление ReplicaSet, стратегии обновления, параметры maxUnavailable и maxSurge, ход выпуска и историю для отката.
Открыть первоисточникOpen Container Initiative Runtime Specification
Open Container Initiative · OCI Runtime Specification, November 2025
Определяет подготовленный пакет контейнера, config.json, окружение процесса и операции жизненного цикла.
Открыть первоисточник