ADC

Solution d’entrée de Kubernetes

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

Qu’est-ce que Kubernetes Ingress ?

Lorsque vous exécutez une application dans 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 fournit 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 à l’intérieur du cluster.

Le diagramme suivant explique comment fonctionne 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 pour accéder 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 Citrix ADC CPX, VPX ou MPX qui effectue l’équilibrage de charge selon les instructions de configuration fournies par le contrôleur Ingress.

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

Dans cette solution, Citrix fournit une implémentation du contrôleur d’entrée Kubernetes pour gérer et acheminer le trafic vers votre cluster Kubernetes en utilisant Citrix ADC (Citrix ADC CPX, VPX ou MPX). Le Citrix ingress controller intègre Citrix ADC à votre environnement Kubernetes et configure Citrix ADC 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 Citrix Kubernetes Ingress fournit la prise en charge du trafic TCP, TCP-SSL et UDP en dehors de l’entrée HTTP ou HTTPS standard. En outre, il fonctionne de manière transparente sur plusieurs clouds ou centres de données locaux.

Citrix ADC fournit des stratégies de gestion du trafic de niveau entreprise telles que les stratégies de réécriture et de répondeur pour équilibrer efficacement la charge du trafic à la couche 7. Cependant, Kubernetes Ingress ne dispose pas de telles stratégies de gestion du trafic de niveau entreprise. Avec la solution Kubernetes Ingress de Citrix, vous pouvez appliquer des stratégies de réécriture et de répondeur pour le trafic des applications dans un environnement Kubernetes à l’aide de CRD fournis par Citrix.

La solution Kubernetes Ingress de Citrix prend également en charge le déploiement canari automatisé pour votre pipeline d’applications CI/CD. Dans cette solution, Citrix ADC est intégré à la plateforme Spinnaker et sert de source pour fournir des mesures précises pour l’analyse du déploiement 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églementer la distribution du trafic vers la version Canary à l’aide de l’infrastructure de stratégie Citrix ADC.

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
Prise en charge HTTP et HTTPS Oui Oui
Routage URL​ ​ Oui Oui
TLS Oui Oui
Équilibrage de charge Oui Oui
TCP, TCP-SSL Non Oui
UDP Non Oui
HTTP/2 Oui Oui
Prise en charge automatisée du déploiement canari avec des outils CI/CD Non Oui
Prise en charge de l’application des​ stratégies de réécriture et de réponse Citrix ADC Non Oui
Authentification (OAuth), TLS mutuel (MTL)) Non Oui
Prise en charge de l’application de stratégies Citrix Rate Limitation Non Oui

Options de déploiement de la solution Kubernetes Ingress

La solution Kubernetes Ingress de Citrix vous offre une architecture flexible en fonction de la façon dont vous souhaitez gérer vos environnements Citrix ADC et Kubernetes.

Entrée unifiée (à un niveau)

Dans une architecture d’entrée unifiée (à niveau unique), un périphérique Citrix MPX ou VPX déployé en dehors du cluster Kubernetes est intégré à l’environnement Kubernetes à l’aide du Citrix ingress controller. Le Citrix ingress controller est déployé en tant qu’espace dans le cluster Kubernetes et automatise la configuration de Citrix ADC en fonction des modifications apportées aux microservices ou aux ressources Ingress. Le périphérique Citrix ADC exécute des fonctions telles que l’équilibrage de charge, la terminaison TLS et les optimisations de protocole HTTP ou TCP sur le trafic entrant, puis achemine le trafic vers le microservice correct au sein d’un cluster Kubernetes. Cette architecture convient le mieux dans les scénarios où la même équipe gère la plate-forme Kubernetes et d’autres infrastructures réseau, y compris les contrôleurs de livraison d’applications (ADC).

Le diagramme suivant montre un déploiement utilisant l’architecture d’entrée unifiée.

Un seul niveau

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

  • Fournit un moyen d’étendre les fonctionnalités de votre infrastructure Citrix ADC existante à l’environnement Kubernetes
  • Permet d’appliquer des stratégies de gestion du trafic pour le trafic entrant
  • Fournit une architecture simplifiée adaptée aux équipes DevOps averties du réseau
  • Prise en charge de la multilocation

Pression à deux niveaux

Dans une architecture à deux niveaux, Citrix ADC (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 Citrix ADC exécutés à l’intérieur du cluster. Citrix ADC 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 de mise en réseau utilisent Citrix ADC de niveau 1 pour les cas d’utilisation tels que GSLB, la terminaison TLS sur la plate-forme matérielle et l’équilibrage de charge TCP. Les équipes de plate-forme Kubernetes peuvent utiliser Citrix ADC (CPX) de niveau 2 pour l’équilibrage de charge de couche 7 (HTTP/HTTPS), le TLS mutuel et l’observabilité ou la surveillance des microservices. Le Citrix ADC (CPX) de niveau 2 peut avoir une version logicielle différente de celle du Citrix ADC de niveau 1 pour prendre en charge les nouvelles fonctionnalités disponibles.

Le diagramme suivant montre un déploiement avec architecture à deux niveaux.

Double niveau

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

  • Garantit une vitesse élevée de développement d’applications pour les développeurs ou les équipes de plateformes
  • Permet d’appliquer des stratégies 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 Citrix ingress controller.

Mise en route

Pour commencer à utiliser la solution Kubernetes Ingress de Citrix, vous pouvez essayer les exemples suivants :

Solution d’entrée de Kubernetes