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