‫Si vous avez pensé à vos déploiements et à
‫vos services sur ceux-ci, vous vous êtes peut-être
‫rendu compte que jusqu'à présent, nous n'avions pas parlé de la couche
‫7 de l'OSI,
‫du routage de noms HTTP, du routage DNS ou de la
‫méthode que vous souhaitez appeler. En gros, l'idée que si
‫vous êtes sur un serveur avec plusieurs sites qui doivent utiliser les mêmes
‫ports, c'est bien. Dans les ports 80 et
‫443, vous avez besoin de quelque chose qui achemine vers
‫différents conteneurs, basé sur autre chose que le port.
‫Celui de Kubernetes est appelé Ingress.
‫C'est une ressource spécifique, et ce n'est pas nécessairement un équilibreur
‫de charge ou quoi que ce soit que vous
‫attribueriez à un service.
‫Techniquement, c'est quelque chose d'autre qui est
‫vraiment centré sur le problème commun de la plupart des
‫clusters qui veulent exécuter beaucoup de sites
‫Web différents, ou différents conteneurs pour différents
‫URL et noms. C’est là que se concentre
‫tout le projet, le projet Ingress.
‫Il n'est pas installé, par défaut,
‫sur votre cluster Kubernetes, mais il possède des fonctionnalités officielles.
‫La façon dont cela fonctionne est que Kubernetes n'a
‫pas inventé un proxy HTTP.
‫Ils fournissent simplement des mécanismes pour
‫que les mandataires tiers utilisent des fonctionnalités
‫afin que vous installiez l'entrée dans votre cluster.
‫Vous pouvez ensuite indiquer à vos applications, en fonction de
‫celle que vous utilisez, comment utiliser ce proxy pour accéder
‫à votre conteneur.
‫Un bon exemple pourrait être votre site Web A. com et vous avez le site
‫web B. com.
‫Ce seront deux déploiements différents.
‫Vous devez en quelque sorte obtenir les mêmes ports sur tous vos
‫nœuds ... son 80443.
‫Vous devez mettre les différents sites Web dans
‫les différents conteneurs. C'est pour ça que Ingress est.
‫Dans Swarm, cette fonctionnalité n'était pas prête à l'emploi.
‫Donc, il suffisait de déployer des serveurs mandataires en tant
‫que conteneur et il n’avait vraiment rien de spécial à faire
‫avec ce conteneur. Il n'a pas compris ce que Ingress était.
‫Mais Kubernetes fait.
‫Lorsque vous consultez la documentation, l'exemple par défaut dont
‫tout le monde parle est Nginx.
‫Nous avons utilisé Nginx dans le cadre de ce cours.
‫Celui-ci devrait probablement être celui que vous devriez essayer en premier.
‫Je préfère autre chose.
‫En fait, j'aime bien Traefik et vous le verrez dans certains de mes
‫exemples, en particulier dans mon cours Swarm.
‫Lorsque vous me voyez prendre la parole lors de conférences,
‫je parle souvent de Traefik car il s’agissait d’un proxy créé dans
‫le monde des conteneurs.
‫Cela a commencé autour de l'idée que tous ces conteneurs éphémères
‫étaient en train de tourner et de se fermer, et nous
‫devions reprogrammer un proxy. Nous devons également nous préoccuper de
‫SSL et de toutes les autres choses dont nous avons besoin pour
‫plusieurs sites Web dans un cluster de conteneurs.
‫Ils ont donc conçu ce nouveau produit qui génère
‫d’autres produits. Il y a maintenant toute une
‫entreprise derrière elle et des contrats de support. Vous voudrez
‫peut-être vérifier cela. Il existe de nombreux fournisseurs qui
‫fabriquent ces plugins pour Kubernetes, y compris les principaux.
‫HAProxy, F5 et de nouveaux
‫joueurs comme Envoy et Istio prennent également en charge
‫les types d'entrée. Je dirai que, techniquement, la fonctionnalité
‫d’entrée est toujours en version bêta dans 1. 15
‫Chacune de celles-ci aura sa propre implémentation en fonction de
‫celle que vous aurez choisie.
‫F5 est un équilibreur de charge matérielle externe très
‫répandu dans l'entreprise.
‫De toute évidence, le contrôleur Ingress pour cela
‫va aider à contrôler cette ressource externe depuis votre Kubernetes.
‫Le but de tout
‫cela est que les développeurs d'applications écrivent
‫leur YAML avec le personnel de DevOps,
‫ou peut-être avec l'équipe des opérations elle-même, soient en
‫mesure de mettre dans leur YAML les annotations nécessaires à
‫l'entrée. contrôleur pour savoir quoi faire avec eux.
‫Fondamentalement, comment puis-je les acheminer?
‫Quels sont les bons chemins? Où est-ce que je le prends?
‫Quels ports est-ce que j'utilise? Est-ce que je récupère SSL
‫pour vous? Est-ce que je reçois des certificats? Allez-vous m'en
‫fournir un peu? Toutes ces affaires sont gérées.
‫Premièrement, je vous suggérerais de regarder dans les ressources.
‫Peut-être juste essayer le Nginx par défaut.
‫Si vous n'avez pas d'opinion, essayez
‫Traefik, car il est facile à utiliser et comporte
‫de nombreuses fonctionnalités, notamment Let's Encrypt, qui permet d'obtenir automatiquement des
‫certificats pour vous et vos sites Web, immédiatement.
‫Si vous connaissez vos propres exigences matérielles ou logicielles
‫pour ce que vous devez faire avec Ingress,
‫vous trouverez dans la documentation
‫une liste des ressources disponibles dans Ingress.