Sobes.tech
Senior
100

Mi az a Pod, Deployment és Deployment Config a Kubernetes/OpenShift-ben? Mi a különbség?

Cégeket kérdeztek
IT OneIT One

Válasz az MI-től

sobes.tech MI

В 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'ы без простоя.