Ce este un set de replici și un deployment?
sobes.tech AI
Răspuns de la AI
Un ReplicaSet asigură un număr specific de poduri identice care funcționează în cluster. Monitorizează starea podurilor și le înlocuiește automat pe cele care au eșuat sau au încetat să funcționeze.
Deployment-ul este furnizat peste ReplicaSet. Gestionează actualizările și rollback-urile aplicațiilor, menținând o istorie a versiunilor deployment-ului. Permite efectuarea actualizărilor conform strategiei de rolling update sau recreate.
# Exemplu de manifest pentru Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3 # Definește numărul dorit de poduri (prin ReplicaSet)
selector:
matchLabels:
app: nginx
strategy:
type: RollingUpdate # Strategie de actualizare
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2 # Versiunea imaginii care va fi actualizată
ports:
- containerPort: 80
În acest exemplu, Deployment va crea un ReplicaSet care va menține 3 poduri cu imaginea nginx:1.14.2. Când modificați versiunea imaginii în manifestul Deployment, acesta va crea un nou ReplicaSet pentru noua versiune și va direcționa treptat traficul către acesta, eliminând podurile vechi conform strategiei de rolling update.
Tabel comparativ:
| Posibilitate | ReplicaSet | Deployment |
|---|---|---|
| Garanția numărului de poduri | ✅ | ✅ |
| Actualizarea aplicațiilor | ❌ | ✅ |
| Rollback-ul versiunilor | ❌ | ✅ |
| Gestionarea istoricului | ❌ | ✅ |