Wat is een replica-set en een deployment?
sobes.tech AI
Antwoord van AI
Een ReplicaSet zorgt voor een bepaald aantal identieke pods die in de cluster werken. Het bewaakt de status van de pods en vervangt automatisch diegene die zijn uitgevallen of niet meer werken.
De Deployment wordt geleverd bovenop de ReplicaSet. Het beheert updates en terugrollen van applicaties, en houdt een geschiedenis bij van de deployment-versies. Het maakt het mogelijk om updates uit te voeren volgens de strategie van rolling update of recreate.
# Voorbeeld van een Deployment-manifest
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3 # Bepaalt het gewenste aantal pods (via ReplicaSet)
selector:
matchLabels:
app: nginx
strategy:
type: RollingUpdate # Update-strategie
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2 # Versie van het beeld dat wordt bijgewerkt
ports:
- containerPort: 80
In dit voorbeeld maakt de Deployment een ReplicaSet dat 3 pods ondersteunt met het beeld nginx:1.14.2. Wanneer je de versie van het beeld in het Deployment-manifest wijzigt, maakt het een nieuwe ReplicaSet voor de nieuwe versie en leidt het geleidelijk het verkeer naar deze, waarbij oude pods worden verwijderd volgens de strategie van rolling update.
Vergelijkingstabel:
| Mogelijkheid | ReplicaSet | Deployment |
|---|---|---|
| Garantie van het aantal pods | ✅ | ✅ |
| Applicatie-updates | ❌ | ✅ |
| Versie-rollback | ❌ | ✅ |
| Beheer van de geschiedenis | ❌ | ✅ |