Aller au contenu principal

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