Назад к вопросам
Middle
143
questionbank

Каковы отличия в обновлении подов между деплойментом и репликасетом?

Sobes Copilot

Получайте ответы в реальном времени

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

sobes.tech AI

Deployment управляет обновлениями, создавая новый ReplicaSet с новой версией образа и постепенно масштабируя его, одновременно поэтапно уменьшая масштаб старого ReplicaSet. ReplicaSet напрямую управляет желаемым количеством реплик пода, но не имеет встроенной логики для стратегий обновления, таких как rolling update или recreate. Deployment использует ReplicaSet как строительный блок для реализации этих стратегий обновления.

Характеристика Deployment ReplicaSet
Цель Декларативное управление приложениями, включая обновления и откаты. Поддержание заданного числа реплик пода.
Обновление подов Реализует стратегии обновления (rolling update, recreate). Не имеет встроенной логики для обновлений.
Управление RS Управляет жизненным циклом ReplicaSets. Управляется Deployment'ом (обычно).
История ревизий Ведет историю ревизий для откатов. Не ведет истории ревизий.
Использование Рекомендуется для управления приложениями, требующими обновлений. Обычно используется косвенно через Deployment.
# Пример стратегии rolling update в Deployment
spec:
  replicas: 3
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25% # Максимальное количество недоступных подов во время обновления
      maxSurge: 25%       # Максимальное количество новых подов, которые могут быть созданы сверх желаемого количества
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-container
        image: my-image:v2 # Новая версия образа