Cloud : KubeLB remet de l'équilibre dans l'écosystème Kubernetes
KubeLB est un projet open source porté par l'allemand Kubermatic. Son objectif ? Améliorer la gestion de trafic massif au sein de clusters Kubernetes.
Qu'est-ce que KubeLB ? Il s'agit d'un projet open source conçu pour piloter les architectures Kubernetes déployées en mode multitenant, multicluster et multicloud. Il se présente comme la solution ultime de l'équilibrage de charge. Ce projet a été initié par la start-up allemande Kubermatic, une experte en solutions Kubernetes. Elle édite Kubermatic Kubernetes Platform (KKP), plateforme conçue pour gérer de multiples clusters Kubernetes en mode multicloud, sur site (on-premise), en périphérie (edge computing), voire en environnements IoT. Avec KubeLB, elle pallie l'absence d'implémentation d'équilibreur de charge multi-tenant et multi-cluster dans l'écosystème Kubernetes.
Conçu comme une extension de Kubernetes exploitant les API de ce dernier, KubeLB s'articule autour de deux composants principaux. En premier lieu, le CCM (pour consumer cluster manager), qui a pour but de propager les configurations d'équilibrage de charge en fonction des changements intervenus au sein des services et nœuds Kubernetes. En second lieu, le gestionnaire qui reçoit ces configurations et les déploie en conséquence. Il prend en charge trois topologies de déploiement : dédiée, partagée (configuration par défaut) et globale. KubeLB utilise l'API de CCM de Kubernetes pour gérer la communication entre les clusters et le plan de contrôle.
Un outil inspiré des CDN
Quels sont les points forts de KubeLB ? D'abord, KubeLB repose sur une architecture inspirée des réseaux de distribution de contenu ou content delivery network (CDN). Un environnement qui sépare le plan de données du plan de contrôle. Ce qui permet d'assurer une montée en charge transparente entre les différents centres de données et emplacements cloud dans lesquels l'infrastructure Kubernetes est déployée.
Ensuite, KubeLB s'adosse au composant Cilium. Une solution de mise en réseau et de sécurité orientée micro-services qui permet une gestion avancée des politiques de sécurité réseau. Elle repose sur l'identité et les rôles des charges de travail au lieu de se baser uniquement sur les adresses IP. Cilium peut ainsi venir remplacer kube-proxy, qui est traditionnellement utilisé pour ces fonctions, offrant une performance accrue et une meilleure granularité dans la gestion du trafic réseau. Sans compter des capacités avancées de traçabilité et de visualisation du trafic entre micro-services.
Enfin, KubeLB fait appel à Envoy. Il s'agit d'une passerelle réseau servant de point d'intermédiation pour tout le trafic en provenance et/ou en direction des services applicatifs hébergés au sein d'un cluster Kubernetes. Permettant de configurer le routage des charges de travail en temps réel, elle peut gérer le trafic entrant dans le cluster ainsi que le trafic entre les micro-services eux-mêmes. Offrant des fonctionnalités de journalisation, Envoy comprend des possibilités avancées d'équilibrage de charge, qui permettent une répartition efficace du trafic entre plusieurs instances de services ou pods Kubernetes. Le tout visant à répondre à des objectifs de haute performance.
Une solution haute performance
Le design de KubeLB est particulièrement adapté aux environnements qui exigent de hauts niveaux d'isolation et de sécurité, tels que les services financiers ou de santé. En utilisant un micro-équilibreur de charge dédié pour chaque locataire, KubeLB assure une sécurité robuste, prévenant les problèmes de "voisin bruyant" fréquemment rencontrés dans les infrastructures partagées. De plus, KubeLB gère une mise à l'échelle élastique, lui permettant de s'ajuster dynamiquement aux charges variables et d'éviter la sur-provision de ressources. Cette capacité est cruciale pour les organisations cherchant à optimiser les coûts et les performances au sein d'une infrastructure temps réel.
KubeLB supporte plusieurs protocoles de communication, y compris HTTP, HTTPS et TCP, ce qui le rend adaptable à divers types d'application et de service. Cela permet aux développeurs de l'utiliser à travers une gamme variée de scénarios sans nécessiter de solutions spécifiques pour chaque cas. Grâce à son intégration avec les outils Kubernetes, KubeLB peut être configuré et géré à l'aide des mêmes outils que ceux utilisés pour gérer les applications Kubernetes. Cela simplifie la tâche des opérateurs et réduit les risques d'erreurs.
La force de l'open source
Etant un projet open source, KubeLB bénéficie du support d'une communauté active qui contribue régulièrement à son développement et à l'amélioration de ses fonctionnalités. Cela garantit que la solution reste à la pointe de la technologie et réponde aux futurs défis des architectures informatiques massivement distribuées.
Conclusion, KubeLB se démarque comme une solution qui non seulement répond aux exigences techniques des déploiements modernes de Kubernetes mais qui s'aligne également avec les besoins opérationnels et stratégiques des entreprises, notamment en termes d'accroissement de trafic. Sa capacité à s'intégrer de manière transparente aux environnements Kubernetes existants, combinée à ses fonctionnalités de sécurité robustes et son architecture évolutive, fait de KubeLB un choix pertinent pour les organisations souhaitant améliorer leur infrastructure de livraison d'applications à grande échelle.