Aller au contenu principal

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