Получить доступ

Чем Pod, ReplicaSet и Deployment отличаются друг от друга?

JuniorKubernetes
Ещё спрашивают так:
  • Почему не создают поды напрямую?
  • Зачем в поде несколько контейнеров?
Коротко

Pod — минимальная единица: один или несколько контейнеров с общей сетью (один IP, localhost) и томами; под смертен, его IP меняется. ReplicaSet поддерживает заданное число одинаковых подов. Deployment управляет ReplicaSet-ами и даёт обновления и откаты: при смене образа создаёт новый ReplicaSet и постепенно переносит поды.

  • Поды напрямую не создают — некому будет их пересоздать
  • Несколько контейнеров в поде — sidecar (прокси, сборщик логов) и init-контейнеры
  • Для stateful-сервисов — StatefulSet, для агента на каждом узле — DaemonSet, для разовых задач — Job/CronJob

А ещё Обращаются к подам не по IP, а через Service

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Связь через метки. ReplicaSet находит «свои» поды по selector. Service тоже выбирает поды по меткам. Метки — основной механизм связи объектов.

Контроллеры рабочих нагрузок:

объектдля чего
Deploymentstateless-сервисы, обновления и откаты
StatefulSetстабильные имена и свои тома (БД, Kafka)
DaemonSetпо поду на каждом узле (агенты логов, мониторинга)
Job / CronJobзадачи до завершения, по расписанию

Многоконтейнерный под. Контейнеры пода делят сетевое пространство и могут делить тома. Init-контейнеры выполняются по порядку до основных (миграции, ожидание зависимостей). Sidecar добавляет функциональность, не меняя приложение.

Пример

apiVersion: apps/v1
kind: Deployment
metadata:
  name: orders
spec:
  replicas: 3
  selector:
    matchLabels: { app: orders }
  template:
    metadata:
      labels: { app: orders }
    spec:
      containers:
        - name: app
          image: registry.example.com/orders:1.4.2
          ports: [{ containerPort: 8080 }]

Что хотят услышать

  • Иерархия Deployment → ReplicaSet → Pod.
  • Почему поды не создают напрямую.
  • Другие контроллеры и многоконтейнерные поды.

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем