Les clusters GKE On-Prem peuvent s'exécuter avec l'un des deux modes d'équilibrage de charge : "intégré" ou "manuel". En mode intégré, les clusters GKE On-Prem fonctionnent avec l'équilibreur de charge F5 BIG-IP. Avec le mode manuel, vous configurez manuellement un autre équilibreur de charge. Par exemple, vous pouvez configurer manuellement l'équilibreur de charge Citrix ou l'équilibreur de charge Seesaw.
Le mode d'équilibrage de charge manuel nécessite plus de configuration que le mode intégré. Cette page décrit la procédure à suivre pour le mode manuel.
Limites
L'utilisation de l'équilibrage de charge manuel présente les limites suivantes :
Vous ne pouvez pas utiliser le protocole DNS pour attribuer des adresses IP à des nœuds de cluster. Vous devez attribuer des adresses IP de nœuds statiques.
Vous ne pouvez pas exposer des services de type
LoadBalancer
à des clients extérieurs au cluster. Cependant, vous pouvez créer des services de typeNodePort
et configurer manuellement votre équilibreur de charge pour les utiliser en tant que backends. Vous pouvez également exposer vos services à l'aide d'objetsIngress
.Si vous ajoutez ou supprimez des nœuds de cluster, vous devez configurer manuellement votre équilibreur de charge en conséquence.
Obtenir de l'aide pour l'équilibrage de charge manuel
Google ne prend pas en charge les équilibreurs de charge configurés à l'aide du mode d'équilibrage de charge manuel. Si vous rencontrez des problèmes avec l'équilibreur de charge, contactez le fournisseur de l'équilibreur de charge.
Réserver vos adresses IP
Chaque cluster que vous créez possède trois VM ou plus, appelées nœuds. Réservez une adresse IP pour chaque nœud des clusters que vous souhaitez créer. Par exemple, si vous souhaitez créer un cluster d'administration avec quatre nœuds et un cluster utilisateur avec trois nœuds, réservez sept adresses IP pour les nœuds. Configurez vos routeurs de sorte que toutes les adresses IP des nœuds puissent être routées.
Vous devez également réserver les adresses IP virtuelles suivantes pour l'équilibrage de charge :
- VIP pour le plan de contrôle administrateur (port exposé : TCP 443)
- VIP pour le contrôleur d'entrée du cluster d'administration (ports exposés : TCP 80, TCP 443)
- VIP pour le gestionnaire de module complémentaire (port exposé : TCP 8443)
- VIP pour le plan de contrôle utilisateur (port exposé : TCP 443)
- VIP pour le contrôleur d'entrée du cluster utilisateur (ports exposés : TCP 80, TCP 443)
Réserver des ports de nœud
GKE On-Prem utilise des objets de service Kubernetes de type NodePort
pour acheminer le trafic vers les pods.
Un objet Service possède un champ ports
, qui est un tableau d'objets ServicePort. Dans un Service de type NodePort
, chaque objet ServicePort possède un champ protocol
, un champ port
, un champ nodePort
et un champ targetPort
. Par exemple, voici une partie d'un fichier manifeste d'un service dont le tableau ports
contient deux objets ServicePort :
... kind: Service ... spec: ... type: NodePort ports: - protocol: TCP port: 80 nodePort: 32676 targetPort: 8080 - protocol: TCP port: 443 nodePort: 32677 targetPort: 443 ...
Supposons que le service précédent représente le contrôleur d'entrée de votre cluster utilisateur. Supposons également que vous ayez effectué les choix suivants :
203.0.113.5
est l'adresse IP virtuelle de votre contrôleur d'entrée de cluster utilisateur.- Les adresses de nœuds de votre cluster utilisateur sont
192.168.0.10
,192.168.0.11
et192.168.0.12
.
Une fois que vous avez configuré l'équilibreur de charge, le trafic est acheminé de la façon suivante :
Un client envoie une requête à l'adresse
203.0.113.5
sur le port TCP 80. L'équilibreur de charge choisit un nœud du cluster d'utilisateur. Supposons par exemple que l'adresse du nœud choisi soit192.168.0.11
. L'équilibreur de charge transfère la requête à l'adresse192.168.0.11
sur le port TCP 32676. Les règles iptables du nœud transfèrent la requête à un pod approprié sur le port TCP 8080.Un autre client envoie une requête à l'adresse
203.0.113.5
sur le port TCP 443. L'équilibreur de charge choisit un nœud du cluster d'utilisateur. Supposons par exemple que l'adresse du nœud choisi soit192.168.0.10
. L'équilibreur de charge transfère la requête à l'adresse192.168.0.10
sur le port TCP 32677. Les règles iptables du nœud transmettent la requête à un pod approprié sur le port TCP 443.
Vous n'avez pas besoin de créer les objets Service pour vos VIP. GKE On-Prem s'en charge pour vous. Toutefois, pour chaque paire (port VIP, port TCP), vous devez sélectionner et spécifier les éléments suivants :
- Un ensemble d'adresses IP de nœuds
- Une valeur
nodePort
Vous devez réserver sept valeurs nodePort
:
nodePort
pour le plan de contrôle du cluster d'administration, port TCP 443nodePort
pour le contrôleur d'entrée du cluster d'administration, port TCP 80nodePort
pour le contrôleur d'entrée du cluster d'administration, port TCP 443nodePort
pour le gestionnaire de module complémentaire, port TCP 8443nodePort
pour le plan de contrôle utilisateur, port TCP 80nodePort
pour pour le contrôleur d'entrée du cluster utilisateur, port TCP 80nodePort
pour le contrôleur d'entrée du cluster utilisateur, port TCP 443
Modifier le fichier de configuration GKE On-Prem
Lorsque vous installez GKE On-Prem, vous générez un fichier de configuration. Vous devez modifier les sections suivantes de votre fichier de configuration :
Définissez
lbmode
surManual
.Définissez
admincluster:ipblockfilepath
sur le chemin d'accès au fichier YAML contenant les adresses IP statiques du cluster d'administrateur. Cette opération est décrite dans la section Configurer des adresses IP statiques. Le protocole DHCP n'est pas disponible en modeManual
.Définissez
usercluster: ipblockfilepath
sur le chemin d'accès au fichier YAML contenant les adresses IP statiques du cluster d'utilisateur.Mettez à jour le champ
admincluster:manuallbspec
avec les valeursnodePort
que vous avez choisies pour le cluster d'administrateur.Mettez à jour la section
usercluster:manuallbspec
avec les valeursnodePort
que vous avez choisies pour le cluster d'utilisateur.
Voici à titre d'exemple un extrait de fichier de configuration mis à jour :
lbmode: Manual admincluster: ipblockfilepath: "ipblock1.yaml" manuallbspec: ingresshttpnodeport: 32527 ingresshttpsnodeport: 30139 controlplanenodeport: 30968 addonsnodeport: 31405 usercluster: ipblockfilepath: "env/default/ipblock2.yaml" manuallbspec: ingresshttpnodeport: 30243 ingresshttpsnodeport: 30879 controlplanenodeport: 30562
Configurer l'équilibreur de charge
Maintenant que vous avez mis à jour le fichier de configuration, connectez-vous à la console de gestion de votre équilibreur de charge et configurez vos adresses IP virtuelles.
Commencez par vérifier que votre cluster d'administration et votre cluster utilisateur disposent de pools d'adresses IP différents.
Comme indiqué précédemment, vous devez configurer cinq adresses IP virtuelles et sept ports. Vous créez donc sept services virtuels sur l'équilibreur de charge :
- Plan de contrôle du cluster d'administrateur, port TCP 443
- Contrôleur d'Ingress du cluster d'utilisateur, port TCP 80
- Contrôleur d'Ingress du cluster d'utilisateur, port TCP 443
- Gestionnaire de modules complémentaires, port TCP 8443
- Plan de contrôle du cluster d'utilisateur, port TCP 80
- Contrôleur d'Ingress du cluster d'utilisateur, port TCP 80
- Contrôleur d'entrée du cluster utilisateur, port TCP 443
Étapes suivantes
- Équilibrage de charge avec Citrix
- Apprenez-en plus sur l'équilibrage de charge avec Seesaw.
Dépannage
Pour en savoir plus, consultez Dépannage.