Sobes.tech
Middle

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