Présentation de l'équilibrage de charge pour GKE sur VMware

Ce document décrit les options d'équilibrage de charge compatibles avec GKE sur VMware.

Plusieurs options d'équilibrage de charge sont disponibles. Choisissez l'option la mieux adaptée à votre environnement et à vos besoins. Par exemple, vous pouvez choisir une option nécessitant une configuration minimale. Vous pouvez également choisir une option s'alignant avec les équilibreurs de charge déjà présents sur votre réseau.

Voici les options disponibles :

  • MetalLB groupé

  • F5 BIG-IP intégré (non compatible avec les clusters d'utilisateur utilisant le plan de contrôle V2)

  • F5 BIG-IP configuré manuellement

  • Citrix configuré manuellement

  • Tout équilibreur de charge que vous configurez manuellement

MetalLB

L'équilibreur de charge MetalLB est fourni avec GKE sur VMware et est particulièrement facile à configurer. Les composants MetalLB s'exécutent sur vos nœuds de cluster. Vous n'avez donc pas besoin de créer de VM distinctes pour votre équilibreur de charge.

Vous pouvez configurer MetalLB pour gérer les adresses IP. Cela signifie que lorsqu'un développeur crée un Service de type LoadBalancer, il n'est pas tenu de spécifier une adresse IP virtuelle pour le Service. À la place, MetalLB choisit automatiquement une adresse IP virtuelle dans un pool d'adresses que vous fournissez à l'avance.

Pour en savoir plus, consultez la page Équilibrage de charge groupé avec MetalLB.

F5 BIG-IP

L'équilibreur de charge F5 BIG-IP n'est pas fourni avec GKE sur VMware. Vous devez donc obtenir une licence et configurer l'équilibreur de charge séparément de l'installation de GKE sur VMware.

Vous pouvez configurer GKE sur VMware pour qu'il soit intégré à F5 BIG-IP comme suit: lorsqu'un développeur crée un service de type LoadBalancer et spécifie une adresse IP virtuelle pour ce service, GKE sur VMware configure automatiquement l'adresse IP virtuelle sur l'équilibreur de charge.

L'intégration F5 BIG-IP n'est pas disponible pour les clusters d'utilisateur utilisant le plan de contrôle V2. À la place, vous pouvez utiliser F5 BIG-IP comme équilibreur de charge configuré manuellement. Dans ce cas, GKE sur VMware ne configure pas automatiquement les adresses IP virtuelles de service.

Citrix

La méthode pour configurer l'équilibreur de charge Citrix est documentée comme un exemple de configuration manuelle d'un équilibreur de charge. Tout équilibreur de charge que vous configurez manuellement nécessite de configurer des mappages entre les adresses IP virtuelles, les adresses de nœud et les valeurs nodePort. Pour en savoir plus concernant la procédure à suivre pour l'équilibreur de charge Citrix, consultez la section Équilibrage de charge manuel avec Citrix.

Équilibrage de charge manuel en général

Vous pouvez utiliser n'importe quel équilibreur de charge de votre choix tant que vous le configurez manuellement. Tout équilibreur de charge que vous configurez manuellement nécessite de configurer des mappages entre les adresses IP virtuelles, les adresses de nœud et les valeurs nodePort. Pour obtenir des informations générales sur la procédure à suivre, consultez la section Équilibrage de charge manuel.

Réserver des adresses IP virtuelles

Quel que soit l'équilibreur de charge que vous utilisez, vous devez réserver plusieurs adresses IP virtuelles que vous comptez utiliser pour l'équilibrage de charge.

Pour chaque cluster d'administrateur que vous souhaitez créer, vous devez réserver ces adresses IP virtuelles :

  • Adresse IP virtuelle pour le serveur d'API Kubernetes
  • Adresse IP virtuelle pour les modules complémentaires

Pour chaque cluster d'utilisateur que vous souhaitez créer, vous devez réserver ces adresses IP virtuelles :

  • Adresse IP virtuelle pour le serveur d'API Kubernetes
  • Adresse IP virtuelle pour le service d'entrée

Supposons par exemple que vous ayez l'intention d'utiliser deux clusters d'utilisateur. Vous aurez besoin de deux adresses IP virtuelles pour votre cluster d'administrateur et de deux adresses IP virtuelles pour chacun de vos clusters d'utilisateur. Vous devez donc réserver six adresses IP virtuelles.

Adresses IP des nœuds

Si vous choisissez l'une des options d'équilibrage de charge suivantes, vous pouvez utiliser des adresses IP statiques pour vos nœuds de cluster, ou laisser vos nœuds de cluster obtenir leurs adresses IP à partir d'un serveur DHCP :

  • MetalLB
  • F5 BIG-IP intégré

Si vous choisissez une option d'équilibrage de charge manuel, vous devez utiliser des adresses IP statiques pour vos nœuds de cluster.

Si vous choisissez d'utiliser des adresses IP statiques, vous devez réserver suffisamment d'adresses pour les nœuds du cluster d'administrateur et pour les nœuds de tous les clusters d'utilisateur que vous souhaitez créer. Pour en savoir plus sur le nombre d'adresses IP de nœud à réserver, consultez la section Planifier les adresses IP.

Créer des services dans votre cluster

Une fois votre cluster d'utilisateur en cours d'exécution, les développeurs d'application peuvent créer des services Kubernetes et les exposer à des clients externes.

Pour les services de type LoadBalancer, les adresses IP virtuelles doivent être configurées sur l'équilibreur de charge. La configuration de ces adresses IP virtuelles dépend de l'équilibreur de charge que vous choisissez.

MetalLB

Dans le fichier de configuration du cluster d'utilisateur, vous spécifiez les pools d'adresses que le contrôleur MetalLB utilise pour attribuer des adresses IP virtuelles aux services. Lorsqu'un développeur crée un Service de type LoadBalancer, le contrôleur MetalLB choisit une adresse d'un pool et l'attribue au service. Le développeur n'a pas besoin de spécifier de valeur pour loadBalancerIP dans le fichier manifeste du Service.

F5 BIG-IP intégré

Lorsqu'un développeur crée un service de type LoadBalancer, il spécifie une adresse IP externe. Exemple :

spec:
  type: LoadBalancer
  loadBalancerIP: 192.168.100.2

GKE sur VMware configure automatiquement l'adresse spécifiée sur une interface réseau de l'équilibreur de charge F5 BIG-IP.

Équilibreur de charge configuré manuellement

Si vous avez choisi une option d'équilibrage de charge manuel, les développeurs peuvent suivre les étapes ci-dessous pour exposer un service à des clients externes :

  • Créez un service de type NodePort.

  • Choisissez une adresse IP virtuelle pour le service.

  • Configurez manuellement l'équilibreur de charge de sorte que le trafic envoyé à l'adresse IP virtuelle soit transféré au Service.