Sobes.tech
Middle

Qu'est-ce qu'un ensemble de réplicas et un déploiement?

sobes.tech IA

Réponse de l'IA

ReplicaSet garantit un nombre spécifique de pods identiques fonctionnant dans le cluster. Il surveille l'état des pods et remplace automatiquement ceux qui ont échoué ou arrêté de fonctionner.

Le Deployment est fourni au-dessus de la ReplicaSet. Il gère les mises à jour et les retours en arrière des applications, en conservant un historique des versions du déploiement. Permet d'effectuer des mises à jour selon la stratégie de rolling update ou recreate.

# Exemple de manifeste Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3 # Définit le nombre souhaité de pods (via ReplicaSet)
  selector:
    matchLabels:
      app: nginx
  strategy:
    type: RollingUpdate # Stratégie de mise à jour
    rollingUpdate:
      maxUnavailable: 1
      maxSurge: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2 # Version de l'image à mettre à jour
        ports:
        - containerPort: 80

Dans cet exemple, le Deployment créera un ReplicaSet qui maintiendra 3 pods avec l'image nginx:1.14.2. Lorsqu'on modifie la version de l'image dans le manifeste du Deployment, il créera un nouveau ReplicaSet pour la nouvelle version et dirigera progressivement le trafic vers celui-ci, en supprimant les anciens pods selon la stratégie de RollingUpdate.

Tableau comparatif:

Possibilité ReplicaSet Deployment
Garantie du nombre de pods
Mise à jour des applications
Rétrogradation des versions
Gestion de l'historique