Activer le mode d'équilibrage de charge manuel

Anthos clusters on VMware (GKE On-Prem) peut s'exécuter avec l'un des trois modes d'équilibrage de charge : intégré, groupé ou manuel. En mode intégré, Anthos clusters on VMware utilise l'équilibreur de charge F5 BIG-IP. En mode groupé, Anthos clusters on VMware fournit et gère l'équilibreur de charge. Vous n'avez pas besoin d'obtenir une licence pour un équilibreur de charge, et la configuration à effectuer est minimale. En mode manuel, Anthos clusters on VMware utilise un équilibreur de charge différent de votre choix. Le mode d'équilibrage de charge manuel nécessite une configuration plus importante que le mode intégré. Cette page décrit la procédure à suivre si vous choisissez d'utiliser le mode d'équilibrage de charge manuel.

Vous pouvez par exemple utiliser l'équilibreur de charge Citrix avec le 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 ni les valeurs nodePort à ce stade. Plus tard, lorsque vous serez prêt à créer vos clusters, vous aurez besoin des adresses et des valeurs nodePort pour remplir votre fichier de configuration de cluster d'administrateur et votre fichier de configuration de cluster d'utilisateur 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 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 les pages Créer un cluster d'administrateur et Créer un cluster d'utilisateur.

Réserver des adresses IP virtuelles

Que vous utilisiez le mode d'équilibrage de charge intégré, groupé ou manuel, vous devez réserver plusieurs adresses IP virtuelles (VIP) que vous comptez utiliser pour l'équilibrage de charge. Ces adresses IP virtuelles permettent aux clients externes d'accéder à vos serveurs d'API Kubernetes, à vos services d'entrée et à vos services complémentaires pour l'intégration de journaux.

Réservez les adresses IP virtuelles suivantes :

  • Adresse IP virtuelle pour le serveur d'API Kubernetes du cluster d'administrateur. Dans le fichier de configuration du cluster d'administrateur, il s'agit de controlPlaneVIP.

  • Adresse IP virtuelle pour le service complémentaire d'agrégation des journaux, qui s'exécute dans le cluster d'administrateur. Dans le fichier de configuration du cluster d'administrateur, il s'agit de addonsVIP.

  • Pour chaque cluster d'utilisateur que vous souhaitez créer, une adresse IP virtuelle pour le serveur d'API Kubernetes du cluster d'utilisateur. Dans le fichier de configuration du cluster d'utilisateur, il s'agit de controlPlaneVIP.

  • Pour chaque cluster d'utilisateur que vous souhaitez créer, une adresse IP virtuelle pour le service d'entrée dans le cluster d'utilisateur. Dans le fichier de configuration du cluster d'utilisateur, il s'agit de ingressVIP.

Réserver des valeurs nodePort

Dans Anthos clusters on VMware, le serveur d'API Kubernetes, le service d'entrée et le service complémentaire d'agrégation des journaux sont exposés par les services Kubernetes. 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, réservez-les afin de pouvoir les réutiliser ultérieurement lorsque vous modifierez les fichiers de configuration de votre cluster.

Choisissez et réservez des valeurs nodePort pour les usages suivants :

  • Pour l'adresse IP virtuelle que vous avez réservée pour le serveur d'API Kubernetes du cluster d'administrateur, réservez une valeur nodePort.

  • Pour l'adresse IP virtuelle que vous avez réservée pour le service complémentaire, réservez une valeur nodePort.

  • Pour chaque adresse IP virtuelle que vous avez réservée pour les serveurs d'API Kubernetes des clusters d'utilisateur, réservez une valeur nodePort.

  • Pour chaque adresse IP virtuelle que vous avez réservée pour le service d'entrée d'un cluster d'utilisateur, réservez deux valeurs nodePort : l'une pour le trafic HTTP et l'autre pour le trafic HTTPS.

Supposons que vous souhaitiez disposer d'un cluster d'administrateur et de deux clusters d'utilisateur. 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'administrateur

  • Une valeur nodePort pour le service complémentaire du cluster d'administrateur

  • Une valeur nodePort pour le serveur d'API Kubernetes de chacun des deux clusters d'utilisateur

  • Une valeur nodePort pour le trafic HTTP vers le service Ingress de chacun des deux clusters d'utilisateur

  • Une valeur nodePort pour le trafic HTTPS vers le service Ingress de chacun des deux clusters d'utilisateur

Dans l'exemple précédent, vous devez donc réserver 8 valeurs nodePort.

Remplir les fichiers de configuration du cluster

Préparez un fichier de configuration pour votre cluster d'administrateur et un fichier de configuration pour chacun de vos clusters d'utilisateur.

Dans chaque fichier de configuration de cluster, procédez comme suit :

  • Définissez loadBalancer.kind sur ManualLB.

  • Définissez network.ipMode sur static.

  • Définissez network.ipBlockFilePath sur le chemin d'accès du fichier de bloc d'adresses IP pour votre cluster.

  • Mettez à jour la section loadBalancer.manualLB avec les valeurs nodePort que vous avez choisies pour le cluster.

Voici à titre d'exemple un extrait de fichier de configuration de cluster d'utilisateur :

network:
  ipMode:
    type: static
    ipBlockFilePath: "ipblock1.yaml"
loadBalancer:
  kind: ManualLB
  manualLB:
    ingressHTTPNodePort: 30243
    ingressHTTPSNodePort: 30879
    controlPlaneNodePort: 30562:

Configurer l'équilibreur de charge

Cluster d'administrateur

Dans le fichier de configuration de votre cluster d'administrateur, vous avez rempli les champs suivants :

  • loadBalancer.vips.controlPlaneVIP
  • loadBalancer.vips.addonsVIP
  • loadBalancer.manualLB.controlPlaneNodePort
  • loadBalancer.manualLB.addonsNodePort
  • network.ipMode.ipBlockFilePath

Dans le fichier de blocs d'adresses IP de votre cluster d'administrateur, vous avez rempli une liste d'adresses IP statiques à utiliser pour vos nœuds de cluster d'administrateur.

Utilisez la console de gestion ou les outils de votre équilibreur de charge pour configurer les mappages suivants dans votre équilibreur de charge. La procédure à suivre dépend de votre équilibreur de charge :

  • (controlPlaneVIP:443) -> (NODE_IP_ADDRESSES:controlPlaneNodePort)

  • (addonsVIP:8443) -> (NODE_IP_ADDRESSES:addonsNodewPort)

Cluster d'utilisateur

Dans les fichiers de configuration de votre cluster d'utilisateur, vous avez rempli les champs suivants :

  • loadBalancer.vips.controlPlaneVIP
  • loadBalancer.vips.ingressVIP
  • loadBalancer.manualLB.controlPlaneNodePort
  • loadBalancer.manualLB.ingressHTTPNodePort
  • loadBalancer.manualLB.ingressHTTPSNodePort
  • network.ipMode.ipBlockFilePath

Dans le fichier de blocs d'adresses IP de votre cluster d'utilisateur, vous avez rempli la liste des adresses IP statiques à utiliser pour vos nœuds de cluster d'utilisateur.

Utilisez la console de gestion ou les outils de votre équilibreur de charge pour configurer les mappages suivants dans votre équilibreur de charge. La procédure à suivre dépend de votre équilibreur de charge :

  • (controlPlaneVIP:443) -> (NODE_IP_ADDRESSES:controlPlaneNodePort)

  • (ingressVIP:80) -> (NODE_IP_ADDRESSES:ingressHTTPNodePort)

  • (ingressVIP:443) -> (NODE_IP_ADDRESSES:ingressHTTPSNodePort)

Outre les exigences précédentes, nous vous recommandons de configurer l'équilibreur de charge pour réinitialiser les connexions client lorsqu'il détecte une défaillance du nœud de backend. Sans cette configuration, les clients du serveur d'API Kubernetes peuvent arrêter de répondre pendant plusieurs minutes lorsqu'une instance de serveur tombe en panne, ce qui peut provoquer une instabilité au niveau du plan de contrôle Kubernetes.

  • Avec F5 BIG-IP, ce paramètre s'appelle Action On Service Down sur la page de configuration du pool de backend.
  • Avec HAProxy, ce paramètre est appelé "on-marked-down shutdown-sessions" dans la configuration du serveur backend.
  • Si vous utilisez un autre équilibreur de charge, consultez la documentation pour trouver le paramètre équivalent.

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