ADC

Solution Kubernetes Ingress

Cette rubrique fournit une vue d’ensemble de la solution Kubernetes Ingress fournie par NetScaler et explique ses avantages.

Qu’est-ce que Kubernetes Ingress ?

Lorsque vous exécutez une application à l’intérieur d’un cluster Kubernetes, vous devez fournir aux utilisateurs externes un moyen d’accéder aux applications depuis l’extérieur du cluster Kubernetes. Kubernetes fournit un objet appelé Ingress qui constitue le moyen le plus efficace d’exposer plusieurs services à l’aide d’une adresse IP stable. Un objet d’entrée Kubernetes est toujours associé à un ou plusieurs services et agit comme un point d’entrée unique permettant aux utilisateurs externes d’accéder aux services exécutés au sein du cluster.

Le schéma suivant explique le fonctionnement de Kubernetes Ingress. Kubernetes Ingress

L’implémentation de Kubernetes Ingress comprend les composants suivants :

  • Ressource d’entrée. Une ressource Ingress vous permet de définir des règles d’accès aux applications depuis l’extérieur du cluster.

  • Contrôleur d’entrée. Un contrôleur d’entrée est une application déployée dans le cluster qui interprète les règles définies dans l’entrée. Ingress Controller convertit les règles d’entrée en instructions de configuration pour une application d’équilibrage de charge intégrée au cluster. L’équilibreur de charge peut être une application logicielle exécutée dans votre cluster Kubernetes ou une appliance matérielle s’exécutant en dehors du cluster.

  • Dispositif d’entrée. Un périphérique d’entrée est une application d’équilibrage de charge telle que NetScaler CPX, VPX ou MPX qui effectue l’équilibrage de charge conformément aux instructions de configuration fournies par le contrôleur d’entrée.

Qu’est-ce que la solution Kubernetes Ingress de Citrix ?

Dans cette solution, NetScaler fournit une implémentation du contrôleur Kubernetes Ingress pour gérer et acheminer le trafic vers votre cluster Kubernetes à l’aide de NetScalers (NetScaler CPX, VPX ou MPX). Le NetScaler Ingress Controller intègre NetScalers à votre environnement Kubernetes et configure NetScaler CPX, VPX ou MPX conformément aux règles d’entrée.

Les solutions standard Kubernetes Ingress fournissent un équilibrage de charge uniquement à la couche 7 (trafic HTTP ou HTTPS). Parfois, vous devez exposer de nombreuses applications héritées qui reposent sur TCP, UDP ou applications et qui ont besoin d’un moyen d’équilibrer la charge de ces applications. La solution NetScaler Ingress Controller prend en charge le trafic TCP, TCP-SSL et UDP en plus de l’entrée HTTP ou HTTPS standard. En outre, il fonctionne de manière transparente sur plusieurs clouds ou centres de données sur site.

NetScaler fournit des politiques de gestion du trafic de niveau professionnel, telles que des politiques de réécriture et de réponse, pour équilibrer efficacement la charge du trafic au niveau de la couche 7. Toutefois, Kubernetes Ingress ne dispose pas de telles politiques de gestion du trafic de niveau entreprise. Avec la solution Kubernetes Ingress de Citrix, vous pouvez appliquer des politiques de réécriture et de réponse pour le trafic des applications dans un environnement Kubernetes à l’aide des CRD fournis par NetScaler.

La solution Kubernetes Ingress de Citrix prend également en charge le déploiement automatique de Canary pour votre pipeline d’applications CI/CD. Dans cette solution, NetScaler est intégré à la plateforme Spinnaker et sert de source pour fournir des mesures précises permettant d’analyser le déploiement de Canary à l’aide de Kayenta. Après avoir analysé les mesures, Kayenta génère un score agrégé pour le Canari et décide de promouvoir ou d’échouer la version Canary. Vous pouvez également réguler la distribution du trafic vers la version Canary à l’aide de l’infrastructure de règles NetScaler.

Le tableau suivant résume les avantages offerts par la solution Ingress de Citrix par rapport à Kubernetes Ingress.

Fonctionnalités Kubernetes Ingress Solution d’entrée de Citrix
Support HTTP et HTTPs Oui Oui
Routage d’URL​ ​ Oui Oui
TLS Oui Oui
Équilibrage de charge Oui Oui
TCP, TCP-SSL Non Oui
UDP Non Oui
HTTP/2 Oui Oui
Support de déploiement automatisé de Canary avec des outils CI/CD Non Oui
Prise en charge de l’application des politiques de réécriture et de réponse de NetScaler​ Non Oui
Authentification (autorisation ouverte (OAuth), protocole TLS mutuel (mTLS)) Non Oui
Assistance pour l’application des politiques de limitation du débit Citrix Non Oui

Options de déploiement pour la solution Kubernetes Ingress

La solution Kubernetes Ingress de NetScaler vous fournit une architecture flexible en fonction de la manière dont vous souhaitez gérer vos NetScalers et votre environnement Kubernetes.

Entrée unifiée (à un niveau)

Dans une architecture d’entrée unifiée (à un seul niveau), un appareil NetScaler MPX ou VPX déployé en dehors du cluster Kubernetes est intégré à l’environnement Kubernetes à l’aide du NetScaler Ingress Controller. Le NetScaler Ingress Controller est déployé en tant que pod dans le cluster Kubernetes et automatise la configuration des NetScalers en fonction des modifications apportées aux microservices ou aux ressources d’entrée. L’appareil NetScaler exécute des fonctions telles que l’équilibrage de charge, la terminaison TLS et l’optimisation du protocole HTTP ou TCP sur le trafic entrant, puis achemine le trafic vers le microservice approprié au sein d’un cluster Kubernetes. Cette architecture convient parfaitement aux scénarios dans lesquels la même équipe gère la plate-forme Kubernetes et d’autres infrastructures réseau, notamment les contrôleurs de distribution d’applications (ADC).

Le schéma suivant montre un déploiement utilisant l’architecture Ingress unifiée.

Single-tier

Une solution Ingress unifiée offre les principaux avantages suivants :

  • Permet d’étendre les fonctionnalités de votre infrastructure NetScaler existante à l’environnement Kubernetes
  • Vous permet d’appliquer des politiques de gestion du trafic pour le trafic entrant
  • Fournit une architecture simplifiée adaptée aux équipes DevOps maîtrisant les réseaux
  • Prend en charge la mutualisation

Entrée à deux niveaux

Dans une architecture à deux niveaux, NetScaler (MPX ou VPX) déployé en dehors du cluster Kubernetes agit au niveau 1 et équilibre la charge du trafic nord-sud vers les CPX NetScaler exécutés au sein du cluster. NetScaler CPX agit au niveau 2 et effectue l’équilibrage de charge pour les microservices au sein du cluster Kubernetes.

Dans les scénarios où des équipes distinctes gèrent la plate-forme Kubernetes et l’infrastructure réseau, l’architecture à deux niveaux convient le mieux.

Les équipes réseau utilisent NetScaler de niveau 1 pour des cas d’utilisation tels que le GSLB, la terminaison TLS sur la plate-forme matérielle et l’équilibrage de charge TCP. Les équipes de la plateforme Kubernetes peuvent utiliser NetScaler (CPX) de niveau 2 pour l’équilibrage de charge de la couche 7 (HTTP/HTTPS), le protocole TLS mutuel et l’observabilité ou la surveillance des microservices. Le NetScaler de niveau 2 (CPX) peut avoir une version logicielle différente de celle de NetScaler de niveau 1 pour s’adapter aux nouvelles fonctionnalités disponibles.

Le schéma suivant montre un déploiement avec une architecture à deux niveaux.

Double niveau

Une entrée à deux niveaux offre les principaux avantages suivants :

  • Assure une grande rapidité de développement d’applications pour les développeurs ou les équipes de plateforme
  • Permet d’appliquer des politiques de gestion du trafic pilotées par les développeurs pour les microservices au sein du cluster Kubernetes
  • Permet l’évolutivité du cloud et la multilocation

Pour plus d’informations, consultez la documentation de NetScaler Ingress Controller.

Mise en route

Pour démarrer avec la solution Kubernetes Ingress de Citrix, vous pouvez essayer les exemples suivants :

Solution Kubernetes Ingress