Kubernetes : Traefik Labs donne une dimension multicloud à son routeur
Commercialisé dans les prochains jours, Traefik Hub centralise la télémétrie, la sécurité et l’accessibilité des APIs pour une flotte de clusters Kubernetes.
Le Français Traefik Labs a dévoilé lors du dernier évènement KubeCON 2023 un gestionnaire d’APIs à l’échelle de plusieurs clusters Kubernetes : Traefik Hub. Pour l’éditeur, qui développait déjà l’une des principales solutions Open source pour router le trafic vers des containers, il s’agit de simplifier radicalement l’inventaire, la sécurisation et la publication des APIs, lesquelles constituent les portes d’entrée logiques vers les fonctions d’une application.
« La plupart des gestionnaires d’APIs vous demandent d’installer des bases de données pour fonctionner, mais aussi de remplacer le routeur des requêtes entrantes du cluster Kubernetes [le Ingress controller dans la nomenclature Kubernetes, N.D.R.] par le leur. Et, en fin de compte, vous devez investir énormément, ne serait-ce que pour apprendre à l’utiliser. Traefik Hub élimine toutes ces contraintes », explique Émile Vauge, le fondateur de Traefik Labs.
Émile VaugeFondateur de Traefik Labs
« Avec Traefik Hub, vous installez juste un agent sur tous vos clusters. Cet agent découvre tout seul les APIs utilisées dans vos clusters et les référence sur un portail SaaS, qui peut être installé sur n’importe quel cloud et que vous pouvez entièrement personnaliser. Ce portail permet d’une part de faire de la télémétrie (usages, performance, sécurité, etc.) et d’autre part de définir toutes les règles d’accès. Vous choisissez quels services vous voulez exposer sur Internet, sans même avoir besoin de configurer des DNS ou des passerelles NAT », résume-t-il.
Il ajoute que tous ces réglages sont faisables à la souris, depuis l’interface. Mais aussi via les configurations CRD d’un projet. Le portail supporte notamment tous les processus GitOps, un système qui automatise les actions répétitives dans le cadre d’un déploiement applicatif continu.
Étendre le plus célèbre routeur d’APIs
Traefik Hub est en fait la dernière extension de Traefik, le plus ancien et le plus téléchargé des routeurs de trafic vers des API présentées par des containers.
Explication. Quand une application web est publiée sous la forme d’une myriade de containers fonctionnels, chaque module est censé pouvoir s’exécuter depuis n’importe où – c’est-à-dire sans tenir compte des adresses IP des serveurs qui exécutent lesdits containers. Pour faire abstraction des adresses IP, les containers communiquent entre eux via leurs APIs. Celles-ci reviennent à des noms de service réseau auxquels on adresse des requêtes HTTP standard. Ces requêtes comprennent des ordres et des données, formatés en JSON.
Le lien entre les noms de ces API et les adresses ou les ports TCP/IP réellement utilisés par les containers se fait au niveau du DNS interne au cluster Kubernetes. Mais un DNS sert juste d’annuaire. Les règles de routage – qui a le droit de parler à qui, comment répartir la charge entre deux containers identiques, etc. – se font au niveau du contrôleur réseau de Kubernetes. Le plus connu d’entre eux est Istio, développé en Open source par l’éditeur Solo.io.
Istio ne sert qu’à assurer le trafic interne au cluster. Dès lors que les APIs doivent être accessibles depuis l’extérieur, c’est-à-dire depuis Internet, le cluster doit être doté d’un proxy inverse, qui expose les noms de services, puis interprète les requêtes HTTP entrantes et les route vers les bons containers. C’est le rôle tenu par Traefik, l’ingress controller que Trafik Labs développe depuis 2015, c’est-à-dire avant-même l’existence de Kubernetes.
« Traefik est rapidement devenu un composant essentiel des applications exposées sur le web. À date, sa version Open source a été téléchargée plus de 3 milliards de fois depuis le site Docker Hub ! C’est-à-dire pratiquement autant que MySQL ou MongoDB », lance Émile Vauge.
Émile VaugeFondateur de Traefik Labs
Il donne une explication de ce succès : « aujourd’hui, 80 % du trafic sur Internet, ce sont des API qui parlent à d’autres API. » Surtout, les éditeurs d’applications sur le web facturent l’utilisation de leurs APIs fonctionnelles à d’autres éditeurs de service, lesquels emboîtent ainsi des fonctions prêtes à l’emploi dans leurs propres solutions. Ce marché des API aurait généré plus de 220 milliards de recettes en 2022.
Outre son mérite d’avoir été le premier proxy inverse utilisable par Kubernetes, Traefik présenterait aussi l’intérêt d’être excessivement simple à utiliser. « Nous l’avons conçu pour des équipes de développement qui ne sont pas des spécialistes du réseau. Il fonctionnait au départ avec tous les outils Docker. Et aujourd’hui, il fonctionne comme un composant Kubernetes classique, avec la même logique ; il n’y a rien à apprendre en plus », dit Émile Vauge.
Les solutions concurrentes à Traefik comprennent NGINX, HAProxy, ou encore Envoy.
Traefik se décline en version commerciale, appelée Traefik Enterprise. Celle-ci apporte des fonctions de haute disponibilité, de qualité de service (engagements SLA), de paramétrage plus fin des contrôles d’accès, d’interconnexion avec des solutions tierces ; notamment HashiCorp Vault pour stocker les certificats TLS.
Une nouvelle dimension multicloud
Disponible à partir du 16 mai, Traefik Hub portera la gestion des APIs de Traefik Enterprise à l’échelle de plusieurs clusters Kubernetes. « C’est quelque part l’ajout d’une dimension multicloud… ou pas. Vous pouvez avoir plusieurs clusters Kubernetes dans votre datacenter pour exécuter plusieurs applications, ou votre application répliquée sur plusieurs clusters qui fonctionnent chacun dans une région cloud différente, voire sur des serveurs edge installés à plusieurs endroits », explique notre interlocuteur.
Techniquement, l’agent Traefik Hub se place en amont de l’ingress controller. Émile Vauge estime qu’il devrait connaître un certain succès, car il ne nécessite pas que cet ingress controller soit Traefik. « Il peut s’agir de NGINX, ou de n’importe quelle autre solution concurrente », promet-il, en évoquant une trentaine de produits compatibles.
À l’instar de Traefik Entreprise, Traefik Hub sera disponible soit en version gratuite, utilisable avec un seul cluster de test, soit en version payante, avec un tarif calculé selon le nombre d’API et de ressources dans le réseau. « Nous n’avons pas voulu proposer un tarif calculé selon le trafic, car cela n’offrirait aucune visibilité », conclut le fondateur de Traefik Labs, sans donner plus de détails.