Présentation de l'équilibrage de charge pour Google Distributed Cloud

Ce document décrit les options d'équilibrage de charge compatibles avec Google Distributed Cloud.

Deux options d'équilibrage de charge s'offrent à vous. 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é

  • Équilibrage de charge manuel pour tout équilibreur de charge tiers, tel que F5 BIG-IP Citrix

MetalLB

L'équilibreur de charge MetalLB est fourni avec Google Distributed Cloud 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.

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 MetalLB comme équilibreur de charge, vous pouvez utiliser des adresses IP statiques pour vos nœuds de cluster, ou vous pouvez demander aux nœuds de cluster d'obtenir leurs adresses IP auprès d'un serveur DHCP.

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'applications 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.

É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.