Lab 3.2 - Déploiement avec ReplicaSets
Objectifs
À la fin de ce lab, vous serez capable de:
- Créer et gérer des ReplicaSets
- Comprendre l'auto-guérison
- Scaler des ReplicaSets
- Observer le comportement des ReplicaSets
Exercice 1: Créer un ReplicaSet
Étape 1: Créer le fichier YAML
Créez replicaset.yaml:
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: web-replicaset
labels:
app: web
spec:
replicas: 3
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: nginx
image: nginx:1.20
ports:
- containerPort: 80
Étape 2: Appliquer
kubectl apply -f replicaset.yaml
Étape 3: Vérifier
# Voir le ReplicaSet
kubectl get replicaset
# Voir les Pods créés
kubectl get pods -l app=web
Exercice 2: Auto-Guérison
Étape 1: Supprimer un Pod
# Supprimer un Pod
kubectl delete pod <pod-name>
# Observer immédiatement
kubectl get pods -l app=web -w
Question: Que se passe-t-il? Un nouveau Pod est créé automatiquement.
Étape 2: Vérifier le ReplicaSet
kubectl describe replicaset web-replicaset
Exercice 3: Scaling
Étape 1: Augmenter les réplicas
# Scale à 5 réplicas
kubectl scale replicaset web-replicaset --replicas=5
# Vérifier
kubectl get pods -l app=web
Étape 2: Réduire les réplicas
# Scale à 2 réplicas
kubectl scale replicaset web-replicaset --replicas=2
# Observer la suppression
kubectl get pods -l app=web -w
Exercice 4: Modifier le Template
Étape 1: Éditer le ReplicaSet
kubectl edit replicaset web-replicaset
Changez l'image de nginx:1.20 à nginx:1.21.
Question: Que se passe-t-il? Les Pods existants ne changent pas. Pourquoi?
Étape 2: Supprimer les Pods
# Supprimer tous les Pods
kubectl delete pods -l app=web
# Observer la recréation
kubectl get pods -l app=web
Les nouveaux Pods utilisent la nouvelle image.
Nettoyage
kubectl delete replicaset web-replicaset
Questions de Réflexion
- Pourquoi le ReplicaSet ne met-il pas à jour les Pods existants?
- Comment le ReplicaSet maintient-il le nombre de réplicas?
- Quelle est la différence entre un ReplicaSet et un Deployment?
Prochaines Étapes
Lab 3.3: Deployments et Rolling Updates
Chapitre 3.6: Deployments
Lab créé le: Décembre 2024