Félicitations! Après avoir lu les deux premières parties de notre guide pour choisir un contrôleur Ingress , vous êtes presque prêt à en sélectionner un. Récapitulons où nous en sommes jusqu'à présent :
Dans la partie 1 , nous discutons de la manière d’identifier vos exigences, notamment les performances, le budget, les cas d’utilisation, l’architecture et la propriété.
Dans la partie 2 , nous évoquons les risques que vous pourriez introduire en sélectionnant le mauvais contrôleur d’entrée et décrivons les domaines clés dans lesquels vous pouvez pérenniser votre sélection.
Les contrôleurs d'entrée se répartissent en trois catégories : open source, par défaut et commerciaux. Chacun a ses cas d’utilisation, et il est important d’être clair sur vos besoins à court et à long terme avant de faire un choix. Dans ce blog, nous couvrons les avantages et les inconvénients de chaque catégorie.
Contrôleurs d'entrée open source
De nombreux contrôleurs Ingress open source sont maintenus par une communauté d'utilisateurs et de développeurs bénévoles, bien que certains disposent également d'équipes d'ingénierie dédiées. Deux des contrôleurs Ingress open source les plus populaires sont basés sur NGINX : l’un est maintenu par la communauté Kubernetes et l’autre est dirigé par l’équipe d’ingénierie principale de NGINX et open source. Pour une comparaison plus approfondie des contrôleurs d'entrée basés sur NGINX, voir la partie 4 de notre série.
Avantages :
Gratuit et communautaire – De nombreuses personnes et organisations choisissent les projets open source non seulement en raison du prix imbattable (gratuit !), mais aussi parce qu’elles préfèrent les technologies développées par la communauté.
Vitesse des fonctionnalités – Ces contrôleurs Ingress sont plus susceptibles d’être à la pointe de l’innovation en matière de fonctionnalités.
Inconvénients (partagés avec les projets open source en général) :
Coût (temps) – Ils manquent d’outils « prêts à l’emploi » pour une configuration et une évolutivité faciles, vous finissez donc par consacrer du temps aux personnalisations et aux solutions de contournement pour vos besoins spécifiques.
Risqué – Il peut y avoir des problèmes de stabilité, de sécurité et de fiabilité (en raison de l’accent mis sur la vélocité des fonctionnalités et de la nature bénévole des contributeurs). Les correctifs pour les vulnérabilités et expositions courantes (CVE) peuvent ne jamais arriver ou peuvent arriver des mois après la divulgation publique du CVE, ce qui donne aux pirates suffisamment de temps pour attaquer votre contrôleur Ingress.
Support minimal ou inexistant – La plupart des problèmes sont « auto-résolus »… il n’y a que vous et les médecins. Si vous rencontrez des problèmes que vous ne pouvez pas résoudre vous-même, il peut être difficile (ou impossible) d'obtenir de l'aide - votre seul choix est de publier votre problème sur les forums communautaires et d'espérer que d'autres membres de la communauté (a) prendront la peine de répondre et (b) connaîtront une solution.
Résumé: Lorsque les organisations commencent à expérimenter Kubernetes, elles choisissent souvent un contrôleur Ingress open source, pour des raisons de commodité ou parce que la documentation promet que vous pouvez être opérationnel rapidement et gratuitement. Cela peut fonctionner à merveille lorsque vous débutez, effectuez des tests ou exécutez une production à faible volume.
Contrôleurs d'entrée par défaut
Bien que de nombreux contrôleurs Ingress par défaut soient basés sur une technologie open source, nous les classons séparément car ils sont développés et maintenus par une entreprise qui fournit une plateforme Kubernetes complète (et souvent une assistance pour sa gestion). Les exemples de cette catégorie incluent les contrôleurs Ingress de cloud public, Rancher et le routeur Red Hat OpenShift.
Avantages :
Gratuit ou à faible coût – Le prix bas est une raison convaincante pour utiliser ces produits. Ils sont déjà intégrés à la plateforme, un gain de temps certain lors de vos premiers pas.
Fiables et pris en charge – Parce qu'ils sont maintenus par une équipe d'ingénierie dédiée, ils peuvent être plus fiables que les contrôleurs Ingress maintenus par la communauté. Le support commercial est généralement inclus ou disponible moyennant un coût supplémentaire.
Inconvénients :
Verrouillage de l'infrastructure : les contrôleurs d'entrée par défaut ne sont pas indépendants de l'infrastructure. Vous ne pouvez donc pas les déplacer, ni vos configurations, d'un cloud à un autre. Cela signifie que vous avez besoin de contrôleurs d'entrée différents pour chaque environnement de déploiement, ce qui entraîne une prolifération d'outils, augmente la courbe d'apprentissage de vos équipes et rend le contrôleur d'entrée plus difficile à sécuriser.
Fonctionnalités de base – Elles manquent généralement des capacités avancées de gestion du trafic et de sécurité nécessaires aux déploiements à grande échelle.
Coûts imprévisibles (temps et argent) – Bien que les coûts initiaux soient nuls ou faibles, ils peuvent augmenter considérablement et de manière imprévisible à mesure que votre application se développe. Cela peut prendre la forme d'un temps nécessaire pour intégrer à votre application des fonctionnalités qui manquent dans l'ensemble de fonctionnalités minimales du contrôleur Ingress. Bien entendu, vous devez effectuer des tests de régression sur ces fonctionnalités à chaque mise à jour de l'application. Un autre inconvénient de certains outils par défaut est l'augmentation considérable de votre facture cloud à mesure que votre application gagne en popularité, en raison de frais de débit qui semblent anodins au premier abord.
Résumé: Un contrôleur d'entrée par défaut est un choix populaire pour les équipes qui découvrent Kubernetes et utilisent une plateforme gérée telle qu'Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE), Microsoft Azure Kubernetes Service (AKS), Rancher et Red Hat OpenShift Container Platform . À mesure que leurs applications mûrissent et que leurs équipes se développent, les organisations choisissent souvent d’ajouter un contrôleur Ingress de niveau entreprise à leur pile, plutôt que de remplacer l’outil par défaut.
Contrôleurs d'entrée commerciaux
Ces contrôleurs Ingress sont des produits sous licence conçus pour prendre en charge des déploiements de production à grande échelle. Un exemple est la version basée sur NGINX Plus du contrôleur d'entrée F5 NGINX , dont nous parlerons plus en détail dans la partie 4.
Avantages :
Large ensemble de fonctionnalités – Les contrôleurs d’entrée commerciaux incluent des ensembles de fonctionnalités robustes qui prennent en charge la gestion avancée du trafic et l’évolutivité pour les déploiements à grande échelle. Il peut y avoir des intégrations avec d’autres produits de qualité professionnelle, tels qu’un WAF ou un service mesh.
Évolutif – Les organisations trouvent souvent que ces options permettent de gagner du temps, car elles ont tendance à avoir davantage de fonctionnalités « prêtes à l'emploi » qui ne nécessitent pas de personnalisation ni de solutions de contournement. Ils peuvent être facilement ajoutés aux pipelines d’automatisation pour permettre à votre infrastructure de se développer selon vos besoins.
Fiable et pris en charge – L’un des principaux avantages des produits commerciaux est qu’ils sont stables, ce qui signifie qu’ils sont largement testés à chaque sortie, avec des mises à jour logicielles régulières et des correctifs de sécurité selon les besoins. Un support commercial complet est généralement disponible à différents niveaux, de sorte que vous pouvez souvent obtenir une aide confidentielle dans les minutes ou les heures qui suivent un problème critique.
Inconvénients :
Développement plus lent – Étant donné que la stabilité est importante pour les contrôleurs Ingress commerciaux, la vitesse de leurs fonctionnalités peut être légèrement inférieure à celle de leurs homologues open source.
Coût (argent) – La réalité des produits commerciaux est qu’ils coûtent de l’argent. Pour les organisations qui ont plus de cycles de développement que de liquidités, le coût peut être un facteur décisif jusqu'à ce que la situation change.
Résumé: À mesure que les organisations évoluent, le choix du contrôleur Ingress devient plus important en fonction de la complexité de leurs équipes et de leurs applications. Une fois qu'une organisation atteint un degré élevé de complexité, un contrôleur d'entrée commercial est logique car il peut réduire la complexité de la gestion et accélérer la mise sur le marché de nouvelles fonctionnalités de produit.
Étape suivante : Évaluer les options
À ce stade de votre parcours, vous êtes prêt à vous concentrer sur certains contrôleurs Ingress à essayer en éliminant les options qui ne peuvent pas répondre à vos besoins. Learnk8s est un excellent point de départ pour votre comparaison de fonctionnalités de haut niveau. Il fournit un tableau de comparaison gratuit des contrôleurs Ingress qu'ils ont évalués.
Lorsque vous effectuez des recherches sur les contrôleurs Ingress, vous remarquerez probablement que de nombreuses options sont basées sur NGINX. Pour un aperçu des choix basés sur NGINX, consultez le dernier blog de cette série, Guide de choix d'un contrôleur Ingress, partie 4 : Options du contrôleur d’entrée NGINX , à venir.
« Cet article de blog peut faire référence à des produits qui ne sont plus disponibles et/ou qui ne sont plus pris en charge. Pour obtenir les informations les plus récentes sur les produits et solutions F5 NGINX disponibles, explorez notre famille de produits NGINX . NGINX fait désormais partie de F5. Tous les liens NGINX.com précédents redirigeront vers un contenu NGINX similaire sur F5.com."