Lab 4.4 - LoadBalancer et Intégration Cloud
Objectifs du Lab
À la fin de ce lab, vous serez capable de:
- Comprendre le type de Service LoadBalancer.
- Configurer un Service LoadBalancer.
- Comprendre l'intégration avec les load balancers cloud.
- Tester l'accès externe via LoadBalancer.
Durée Estimée
30-45 minutes
Prérequis
- kubectl installé et configuré.
- Cluster Kubernetes local fonctionnel (minikube ou kind).
- Connaissances sur les Services (Chapitres 4.1 et 4.2).
Partie 1: Comprendre LoadBalancer
Un Service de type LoadBalancer expose le Service à l'extérieur du cluster en utilisant un load balancer fourni par le fournisseur cloud (AWS ELB, Azure Load Balancer, GCP Load Balancer).
Sur un cluster local (minikube/kind), le LoadBalancer se comporte comme un NodePort, mais en production cloud, il provisionne automatiquement un load balancer externe.
Partie 2: Création d'un Service LoadBalancer
Étape 2.1: Déployer une Application
Créez un Deployment simple:
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app
spec:
replicas: 3
selector:
matchLabels:
app: web-app
template:
metadata:
labels:
app: web-app
spec:
containers:
- name: nginx
image: nginx:1.20
ports:
- containerPort: 80
Appliquez:
kubectl apply -f deployment.yaml
Étape 2.2: Créer un Service LoadBalancer
Créez service-loadbalancer.yaml:
apiVersion: v1
kind: Service
metadata:
name: web-app-lb
spec:
type: LoadBalancer
selector:
app: web-app
ports:
- port: 80
targetPort: 80
protocol: TCP
Appliquez:
kubectl apply -f service-loadbalancer.yaml
Partie 3: Vérification
Étape 3.1: Vérifier le Service
kubectl get svc web-app-lb
Sur minikube, vous verrez <pending> pour l'EXTERNAL-IP. Activez le tunnel:
minikube tunnel
Dans un autre terminal, vérifiez à nouveau:
kubectl get svc web-app-lb
Vous devriez voir une EXTERNAL-IP.
Étape 3.2: Tester l'Accès
Testez l'accès:
curl http://<EXTERNAL-IP>
Partie 4: Intégration Cloud (Conceptuel)
Sur un cluster cloud (AWS, Azure, GCP), le LoadBalancer provisionne automatiquement:
- AWS: Elastic Load Balancer (ELB)
- Azure: Azure Load Balancer
- GCP: Google Cloud Load Balancer
Le fournisseur cloud gère automatiquement la création et la configuration du load balancer.
Partie 5: Nettoyage
kubectl delete svc web-app-lb
kubectl delete deployment web-app
Résumé du Lab
Dans ce lab, vous avez créé un Service LoadBalancer et compris son fonctionnement. Sur un cluster cloud, ce type de Service provisionne automatiquement un load balancer externe pour exposer votre application.
Prochaines Étapes
Ce module sur les Services et Networking est maintenant complet. Vous pouvez passer au Module 5 sur la Configuration et les Secrets.
Module 5: Configuration et Secrets
Lab créé le: Décembre 2024