Какво е реплика-сет и деплоймент?
sobes.tech AI
Отговор от AI
Реплика-сет (ReplicaSet) осигурява зададен брой идентични подове, работещи в клъстера. Той следи състоянието на подовете и автоматично заменя тези, които са се провалили или са спрели да работят.
Деплоймънт (Deployment) се предоставя върху Реплика-сета. Той управлява актуализациите и връщанията на приложенията, поддържа история на версиите на деплоймънта. Позволява извършване на актуализации по стратегия rolling update или recreate.
# Пример за манифест на Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3 # Определя желаното количество подове (чрез ReplicaSet)
selector:
matchLabels:
app: nginx
strategy:
type: RollingUpdate # Стратегия за актуализация
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2 # Версия на образа, който ще се актуализира
ports:
- containerPort: 80
В този пример, Deployment ще създаде ReplicaSet, който ще поддържа 3 пода с образ nginx:1.14.2. При промяна на версията на образа в манифеста на Deployment, той ще създаде нов ReplicaSet за новата версия и постепенно ще пренасочва трафика към него, като премахва старите подове според стратегията rolling update.
Таблица за сравнение:
| Възможност | ReplicaSet | Deployment |
|---|---|---|
| Гаранция за броя на подовете | ✅ | ✅ |
| Актуализация на приложения | ❌ | ✅ |
| Връщане към предишна версия | ❌ | ✅ |
| Управление на историята | ❌ | ✅ |