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
- replicas: Nombre de Pods désirés
- selector: Comment identifier les Pods à gérer
- 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