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