Ce document décrit les options d'équilibrage de charge compatibles avec Google Distributed Cloud.
Deux 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é
Équilibrage de charge manuel pour tout équilibreur de charge tiers, tel que F5 BIG-IP Citrix
MetalLB
L'équilibreur de charge MetalLB est groupé 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 laisser vos nœuds de cluster obtenir leurs adresses IP à partir 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'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.
É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.