Chapitre 4.1 - Introduction aux Services
Objectifs d'Apprentissage
À la fin de ce chapitre, vous serez capable de:
- Comprendre le problème que les Services résolvent
- Expliquer le rôle des Services
- Comprendre comment les Services fonctionnent
- Créer un Service simple
Le Problème
Les Pods ont des IPs éphémères qui changent:
Problèmes:
- Les IPs changent quand les Pods redémarrent
- Comment trouver les Pods backend?
- Comment équilibrer la charge?
La Solution: Services
Un Service expose un ensemble de Pods comme un service réseau avec une IP stable:
Avantages:
- IP stable
- Load balancing automatique
- Service discovery
- Abstraction des Pods backend
Comment ça Fonctionne?
Selectors
Le Service utilise des selectors pour trouver les Pods:
apiVersion: v1
kind: Service
metadata:
name: web-service
spec:
selector:
app: web
tier: frontend
ports:
- port: 80
targetPort: 8080
Déclaration YAML
apiVersion: v1
kind: Service
metadata:
name: my-service
labels:
app: my-app
spec:
selector:
app: my-app
tier: frontend
ports:
- protocol: TCP
port: 80 # Port du Service
targetPort: 8080 # Port du conteneur
type: ClusterIP # Type de Service
Commandes Utiles
# Créer un Service
kubectl apply -f service.yaml
# Lister les Services
kubectl get services
# Détails d'un Service
kubectl describe service my-service
# Voir les Endpoints
kubectl get endpoints my-service
# Supprimer un Service
kubectl delete service my-service
Résumé
Dans ce chapitre, vous avez appris:
Problème: IPs éphémères des Pods
Solution: Services avec IP stable
Selectors: Identifier les Pods backend
Load Balancing: Automatique entre les Pods
Abstraction: Les clients n'ont pas besoin de connaître les Pods
Prochaines Étapes
Maintenant que vous comprenez les Services:
Chapitre 4.2: Types de Services
Lab 4.1: Services ClusterIP et NodePort
Chapitre créé le: Décembre 2024