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 s'exécutent avec l'équilibreur de charge BIG-IP de F5. En mode manuel, vous pouvez utiliser l'équilibreur de charge BIG-IP de F5 ou tout autre équilibreur de charge de votre choix. Le mode d'équilibrage de charge manuel nécessite davantage de configuration que le mode intégré. Cette page décrit la procédure à suivre si vous optez pour le mode d'équilibrage de charge manuel.
L'équilibreur de charge Citrix et l'équilibreur de charge Seesaw sont des exemples d'équilibreurs de charge que vous pouvez utiliser en mode d'équilibrage de charge manuel.
Dans cette rubrique, vous réservez des adresses IP et des valeurs de port nodePort
pour une utilisation ultérieure.
L'idée est de choisir les adresses IP et les valeurs nodePort
que vous souhaitez utiliser pour l'équilibrage de charge et pour vos nœuds de cluster. Mais vous n'utilisez pas les adresses et les valeurs nodePort
à ce stade. Vous vous servirez de ces adresses et de ces valeurs nodePort
ultérieurement, lorsque vous serez prêt à installer GKE On-Prem, pour renseigner le fichier de configuration de votre cluster. Vous aurez également besoin de ces adresses et de ces valeurs nodePort
lorsque vous configurerez manuellement l'équilibreur de charge.
Réserver des adresses IP virtuelles
Que vous utilisiez le mode d'équilibrage de charge intégré ou manuel, vous devez réserver plusieurs adresses IP virtuelles qui seront utilisées pour l'équilibrage de charge. Ces adresses IP virtuelles permettent aux clients externes d'accéder à vos serveurs d'API Kubernetes, à vos services Ingress et à vos services complémentaires. Pour obtenir des instructions détaillées sur la réservation d'adresses IP virtuelles, consultez la section Réserver des adresses IP virtuelles.
Réserver des adresses IP de nœud
En mode d'équilibrage de charge manuel, vous ne pouvez pas utiliser DHCP. Vous devez spécifier des adresses IP statiques pour les nœuds de votre cluster. Vous devez réserver suffisamment d'adresses à la fois 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 page Configurer des adresses IP statiques.
Réserver des valeurs nodePort
Dans un cluster GKE On-Prem, le serveur d'API Kubernetes, le service Ingress et le service complémentaire sont mis en œuvre en tant que services Kubernetes de type NodePort
.
En mode d'équilibrage de charge manuel, vous devez choisir les valeurs de port nodePort
pour ces services. Choisissez des valeurs comprises entre 30000 et 32767. Après avoir choisi les valeurs nodePort
, mettez-les à part afin de pouvoir les réutiliser ultérieurement lorsque vous modifierez le fichier de configuration de votre cluster.
Choisissez et réservez des valeurs nodePort
pour les usages suivants :
Pour chaque adresse IP virtuelle que vous avez réservée pour un serveur d'API Kubernetes, réservez une valeur
nodePort
.Pour chaque adresse IP virtuelle que vous avez réservée pour un service Ingress de cluster, réservez deux valeurs
nodePort
: l'une pour le trafic HTTP et l'autre pour le trafic HTTPS. Ceci ne s'applique qu'aux clusters d'utilisateur.Pour chaque adresse IP virtuelle que vous avez réservée pour un service complémentaire de cluster, réservez une valeur
nodePort
. Cela ne s'applique qu'au cluster d'administrateur.
Supposons, par exemple, que vous souhaitiez disposer de deux clusters d'utilisateur et employer des modules complémentaires dans tous vos clusters. Vous devez dans ce cas choisir et réserver des valeurs nodePort
pour les usages suivants :
Une valeur
nodePort
pour le serveur d'API Kubernetes du cluster d'administrateurUne valeur
nodePort
pour le serveur d'API Kubernetes de chacun des deux clusters d'utilisateurUne valeur
nodePort
pour le trafic HTTP vers le service Ingress de chacun des deux clusters d'utilisateurUne valeur
nodePort
pour le trafic HTTPS vers le service Ingress de chacun des deux clusters d'utilisateurUne valeur
nodePort
pour le service complémentaire du cluster d'administrateurUne valeur
nodePort
pour le serveur complémentaire de chacun des deux clusters d'utilisateur
Au total, vous devez donc réserver 11 valeurs nodePort
.
Modifier le fichier de configuration GKE On-Prem
Un fichier de configuration est généré lors de l'installation de GKE On-Prem. Pour mettre en place le mode d'équilibrage de charge manuel, vous devez apporter les modifications suivantes à ce fichier :
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: 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 l'équilibreur de charge et configurez les adresses IP virtuelles.
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
- 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'Ingress du cluster d'utilisateur, port TCP 443
Exemple d'équilibrage de charge
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
. Voici à titre d'exemple un extrait de fichier manifeste pour un objet 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 ci-dessus représente le service Ingress pour l'un de vos clusters d'utilisateur. Supposons également que vous ayez effectué les choix suivants pour ce cluster d'utilisateur :
L'adresse IP virtuelle du service Ingress est
203.0.113.5
.Les adresses des nœuds 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 transfèrent la requête à un pod approprié sur le port TCP 443.
Obtenir de l'aide concernant l'équilibrage de charge manuel
Google ne fournit pas d'assistance pour les équilibreurs de charge configurés en mode d'équilibrage de charge manuel. Veuillez contacter le fournisseur de l'équilibreur de charge si vous rencontrez des problèmes.
É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.