0Pricing
Docker & DevOps Fundamentals · Leçon

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-nginx

Un 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: 80

Routage 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: 8080

Routage 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: 80

Terminaison 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-tls

Les 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: nginx

Inspecter 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-ingress

L’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
  • ingressClassName sé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

  1. Déploiements pour applications sans état
  2. Services pour l’accès réseau
  3. ConfigMaps et Secrets
  4. Ingress et routage externe
← Retour à Docker & DevOps Fundamentals