Sobes.tech
Назад к вопросам
Senior
3

Что такое под (Pod), Deployment и Deployment Config в Kubernetes/OpenShift? В чём разница?

Компании, где спрашивали
IT OneIT One

Ответ от нейросети

sobes.tech AI

В Kubernetes и OpenShift:

  • Pod — минимальная единица развертывания, которая содержит один или несколько контейнеров, работающих на одном хосте и разделяющих сеть и хранилище. Pod — это «оболочка» для контейнеров.

  • Deployment — контроллер, который управляет созданием и обновлением Pod'ов. Он обеспечивает декларативное управление состоянием приложения: сколько реплик должно быть, обновления без простоя, откат и т.д. Deployment следит, чтобы нужное количество Pod'ов всегда было запущено.

  • DeploymentConfig — аналог Deployment, но специфичный для OpenShift. Он расширяет возможности Deployment, добавляя дополнительные триггеры (например, на изменение образа контейнера), более гибкую стратегию обновления и интеграцию с OpenShift-пайплайнами.

Основные отличия:

  • Pod — это непосредственно контейнеры.
  • Deployment — стандартный Kubernetes-ресурс для управления жизненным циклом Pod'ов.
  • DeploymentConfig — расширение OpenShift с дополнительными возможностями, отсутствующими в стандартном Deployment.

Пример: вы создаёте Deployment, который гарантирует, что всегда запущено 3 Pod'а с вашим приложением. Если вы обновляете образ, Deployment плавно обновит Pod'ы без простоя.