Назад к вопросам
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 # Новая версия образа