Ingress et routage externe
Exposez plusieurs services vers l’extérieur par un point d’entrée unique grâce aux ressources Ingress, au routage par hôte et par chemin, ainsi qu’à un contrôleur Ingress.
Ingress et routage externe est une leçon Docker & DevOps Fundamentals gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Docker & DevOps Fundamentals, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Docker & DevOps Fundamentals comprend 4 leçons au total.
Au-delà de NodePort et LoadBalancer
Un Service peut exposer une application, mais attribuer une adresse IP externe à chaque application devient coûteux et difficile à gérer. Ingress fournit un point d’entrée HTTP intelligent qui achemine le trafic vers de nombreux services.
Qu’est-ce qu’un objet Ingress ?
Un Ingress est un objet Kubernetes qui décrit des règles de routage HTTP/HTTPS : quel hôte ou chemin d’URL correspond à quel Service.
Vous avez besoin d’un contrôleur
L’objet Ingress ne contient que des règles. Un contrôleur Ingress (nginx, Traefik, HAProxy) surveille réellement ces règles et effectue le routage. Sans contrôleur, aucune action n’est exécutée.
kubectl get pods -n ingress-nginxUn objet Ingress de base
Cet objet Ingress achemine tout le trafic vers un seul Service principal sur le port 80.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web-ingress
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web
port:
number: 80Routage fondé sur l’hôte
Ajoutez un host pour effectuer le routage selon le nom de domaine : api.example.com vers un service, shop.example.com vers un autre, le tout sur la même adresse IP.
rules:
- host: api.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: api
port:
number: 8080Routage fondé sur le chemin
Vous pouvez aussi effectuer le routage selon le chemin d’URL sous un même hôte : /api vers le service d’API et / vers l’interface web.
paths:
- path: /api
pathType: Prefix
backend:
service:
name: api
port:
number: 8080
- path: /
pathType: Prefix
backend:
service:
name: web
port:
number: 80Terminaison TLS
Ingress peut terminer HTTPS à l’aide d’un secret TLS, afin que vos services reçoivent du HTTP en clair tandis que les utilisateurs bénéficient du chiffrement.
spec:
tls:
- hosts:
- shop.example.com
secretName: shop-tlsLes annotations ajustent le comportement
Les annotations propres au contrôleur permettent de configurer les réécritures, les délais d’expiration, les limites de débit et bien plus encore. Elles se trouvent dans les métadonnées de l’objet Ingress.
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /IngressClass
Lorsque plusieurs contrôleurs existent, ingressClassName indique à Kubernetes lequel doit gérer cet objet Ingress.
spec:
ingressClassName: nginxInspecter un objet Ingress
Vérifiez vos règles et l’adresse attribuée avec kubectl get ingress, et utilisez describe pour consulter les événements.
kubectl describe ingress web-ingressL’alternative moderne : Gateway API
Kubernetes évolue vers la Gateway API, un successeur d’Ingress plus expressif. Ingress reste largement utilisé et constitue le bon point de départ.
Vérification rapide
Pourquoi un contrôleur Ingress est-il nécessaire ?
Récapitulatif
Vous savez maintenant exposer proprement vos applications :
- Ingress définit les règles de routage HTTP ; un contrôleur Ingress les applique
- Effectuez le routage selon l’hôte ou le chemin au moyen d’un seul point d’entrée
- Terminez TLS et ajustez le comportement avec des annotations
ingressClassNamesélectionne le contrôleur
Une adresse IP, de nombreux services et un routage intelligent.
Questions Fréquemment Posées
La leçon « Ingress et routage externe » est-elle gratuite ?
Oui — le texte complet de « Ingress et routage externe » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Docker & DevOps Fundamentals, passe à CoddyKit PRO. Le cours Docker & DevOps Fundamentals comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Ingress et routage externe » ?
Exposez plusieurs services vers l’extérieur par un point d’entrée unique grâce aux ressources Ingress, au routage par hôte et par chemin, ainsi qu’à un contrôleur Ingress. Tu pratiques Docker & DevOps Fundamentals avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Docker & DevOps Fundamentals ?
Aucune expérience préalable n'est requise. Docker & DevOps Fundamentals sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Ingress et routage externe » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Docker & DevOps Fundamentals ?
Oui. Chaque leçon Docker & DevOps Fundamentals inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Déploiements pour applications sans état
- Services pour l’accès réseau
- ConfigMaps et Secrets
- Ingress et routage externe