Aller au contenu principal

Chapitre 3.5 - ReplicaSets

Objectifs d'Apprentissage

À la fin de ce chapitre, vous serez capable de:

  • Comprendre le rôle des ReplicaSets
  • Créer et gérer des ReplicaSets
  • Comprendre comment les ReplicaSets maintiennent le nombre de réplicas
  • Utiliser les ReplicaSets avec les Deployments

Qu'est-ce qu'un ReplicaSet?

Un ReplicaSet maintient un nombre stable de réplicas de Pods en cours d'exécution. Il garantit qu'un nombre spécifié de Pods identiques est toujours disponible.


Pourquoi les ReplicaSets?

Auto-Guérison

Si un Pod plante, le ReplicaSet crée automatiquement un nouveau Pod:

Scaling

Vous pouvez facilement augmenter ou diminuer le nombre de réplicas.


Déclaration YAML

apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: web-replicaset
labels:
app: web
tier: frontend
spec:
replicas: 3
selector:
matchLabels:
app: web
tier: frontend
template:
metadata:
labels:
app: web
tier: frontend
spec:
containers:
- name: nginx
image: nginx:1.20
ports:
- containerPort: 80

Sections Importantes

  1. replicas: Nombre de Pods désirés
  2. selector: Comment identifier les Pods à gérer
  3. template: Template pour créer de nouveaux Pods

Sélecteur et Labels

Important: Les labels dans selector.matchLabels doivent correspondre aux labels dans template.metadata.labels.


Gestion des ReplicaSets

Créer un ReplicaSet

# Depuis un fichier YAML
kubectl apply -f replicaset.yaml

# Créer et voir le YAML
kubectl create replicaset web-rs --image=nginx:1.20 --replicas=3 --dry-run=client -o yaml

Scaling

# Modifier le nombre de réplicas
kubectl scale replicaset web-replicaset --replicas=5

# Ou éditer directement
kubectl edit replicaset web-replicaset

Supprimer

# Supprimer le ReplicaSet (les Pods aussi)
kubectl delete replicaset web-replicaset

# Supprimer seulement le ReplicaSet (garder les Pods)
kubectl delete replicaset web-replicaset --cascade=orphan

ReplicaSets vs Deployments

ReplicaSets (Bas Niveau)

  • Gèrent directement les Pods
  • Pas de gestion de version
  • Pas de rolling updates

Deployments (Haut Niveau)

  • Gèrent les ReplicaSets
  • Gestion de version
  • Rolling updates et rollbacks
  • Recommandé pour la plupart des cas

Résumé

Dans ce chapitre, vous avez appris:

ReplicaSet: Maintient un nombre stable de Pods identiques
Auto-guérison: Crée automatiquement de nouveaux Pods si nécessaire
Scaling: Facilement ajustable
Selector: Identifie les Pods à gérer
Deployments: Utilisent ReplicaSets avec fonctionnalités avancées


Prochaines Étapes

Maintenant que vous comprenez les ReplicaSets:

Chapitre 3.6: Deployments - Gestion Avancée
Lab 3.2: Déploiement avec ReplicaSets


Chapitre créé le: Décembre 2024