Lab 12.2 - Autoscaling Horizontal et Vertical
Objectifs du Lab
À la fin de ce lab, vous serez capable de:
- Configurer un Horizontal Pod Autoscaler (HPA).
- Comprendre le fonctionnement de l'HPA.
- Tester l'autoscaling basé sur les métriques.
- Comprendre le Vertical Pod Autoscaler (VPA).
Durée Estimée
60-75 minutes
Prérequis
- kubectl installé et configuré.
- Cluster Kubernetes avec metrics-server.
- Connaissances sur les Deployments.
Partie 1: Installation de metrics-server
Étape 1.1: Installer metrics-server
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
Vérifiez:
kubectl get deployment metrics-server -n kube-system
Partie 2: Création d'un HPA
Étape 2.1: Créer un Deployment
Créez deployment-hpa.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: hpa-app
spec:
replicas: 2
selector:
matchLabels:
app: hpa-app
template:
metadata:
labels:
app: hpa-app
spec:
containers:
- name: app
image: nginx:1.20
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi
Appliquez:
kubectl apply -f deployment-hpa.yaml
Étape 2.2: Créer un HPA
Créez hpa.yaml:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: hpa-app
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: hpa-app
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
Appliquez:
kubectl apply -f hpa.yaml
Partie 3: Test de l'Autoscaling
Étape 3.1: Générer de la Charge
Créez un Pod pour générer de la charge:
kubectl run -i --tty load-generator --rm --image=busybox --restart=Never -- /bin/sh -c "while true; do wget -q -O- http://hpa-app-service; done"
Étape 3.2: Observer l'Autoscaling
Surveillez le HPA:
kubectl get hpa hpa-app -w
Surveillez les Pods:
kubectl get pods -l app=hpa-app -w
Partie 4: VPA (Introduction)
Le VPA ajuste automatiquement les Requests et Limits. L'installation est plus complexe et nécessite un opérateur.
Résumé du Lab
Dans ce lab, vous avez configuré l'autoscaling horizontal avec HPA. Vous avez testé l'autoscaling basé sur l'utilisation CPU.
Prochaines Étapes
Le prochain lab vous montrera comment mettre en place GitOps avec ArgoCD.
Lab 12.3: GitOps avec ArgoCD
Lab créé le: Décembre 2024