Sobes.tech
Middle

Cos'è un set di repliche e un deployment?

sobes.tech AI

Risposta dell'AI

Un ReplicaSet garantisce un numero specifico di pod identici che funzionano nel cluster. Monitora lo stato dei pod e sostituisce automaticamente quelli che sono falliti o hanno smesso di funzionare.

Il Deployment viene fornito sopra il ReplicaSet. Gestisce gli aggiornamenti e i rollback delle applicazioni, mantenendo una cronologia delle versioni del deployment. Permette di eseguire aggiornamenti tramite la strategia di rolling update o recreate.

# Esempio di manifest di Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3 # Definisce il numero desiderato di pod (tramite ReplicaSet)
  selector:
    matchLabels:
      app: nginx
  strategy:
    type: RollingUpdate # Strategia di aggiornamento
    rollingUpdate:
      maxUnavailable: 1
      maxSurge: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2 # Versione dell'immagine che verrà aggiornata
        ports:
        - containerPort: 80

In questo esempio, il Deployment creerà un ReplicaSet che manterrà 3 pod con l'immagine nginx:1.14.2. Quando si modifica la versione dell'immagine nel manifest del Deployment, creerà un nuovo ReplicaSet per la nuova versione e indirizzerà gradualmente il traffico verso di esso, eliminando i vecchi pod secondo la strategia di rolling update.

Tabella di confronto:

Possibilità ReplicaSet Deployment
Garanzia del numero di pod
Aggiornamento delle applicazioni
Rollback delle versioni
Gestione della cronologia