Activer le mode d'équilibrage de charge manuel

Les clusters GKE On-Prem peuvent s'exécuter dans trois modes d'équilibrage de charge : intégré, groupé ou manuel. En mode intégré, un cluster GKE On-Prem utilise l'équilibreur de charge F5 BIG-IP. En mode groupé, GKE On-Prem 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, GKE On-Prem 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.

Pour obtenir des instructions sur l'utilisation de BIG-IP de F5 en mode d'équilibrage de charge manuel, consultez la page Installer BIG-IP ADC de F5 pour GKE On-Prem avec l'équilibrage de charge manuel.

Dans cette rubrique, vous définissez des adresses IP et des valeurs 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. Plus tard, lorsque vous serez prêt à installer GKE On-Prem, vous aurez besoin des adresses et des valeurs nodePort pour remplir votre fichier de configuration de 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é, groupé ou manuel, vous devez réserver plusieurs adresses IP virtuelles (IPV) que vous comptez utiliser pour l'équilibrage de charge. Ces VIP permettent aux clients externes d'accéder à vos serveurs d'API Kubernetes, à vos services d'entrée 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.

Mettre de côté 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 vos nœuds de cluster. Vous devez réserver suffisamment d'adresses pour les nœuds du cluster d'administrateur et les nœuds de tous les clusters d'utilisateurs 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 ayez l'intention d'utiliser deux clusters d'utilisateur et que vous comptiez utiliser des modules complémentaires. Vous devez choisir et réserver les valeurs nodePort suivantes :

  • Une valeur nodePort pour le serveur d'API Kubernetes 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

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

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

Modification du fichier de configuration GKE On-Prem

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

  • Définissez loadBalancer.kind sur ManualLB.

  • Définissez network.ipMode sur static

  • Définissez network.ipBlockFilePath sur le chemin d'accès du fichier YAML d'adresses IP statiques de votre cluster. Cette opération est décrite sur la page Configurer des adresses IP statiques. Le protocole DHCP n'est pas disponible pour le mode d'équilibrage de charge manuel.

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

L'exemple suivant montre une partie d'un fichier de configuration mis à jour :

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

Configurer votre é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 :

  • Plan de contrôle du cluster pour les clusters d'administrateur et d'utilisateur, port TCP 443
  • Gestionnaire de modules complémentaires en cas d'utilisation du cluster d'administrateur, port TCP 8443
  • Contrôleur d'entrée 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 et 192.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 soit 192.168.0.11. L'équilibreur de charge transfère la requête à l'adresse 192.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 soit 192.168.0.10. L'équilibreur de charge transfère la requête à l'adresse 192.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.

Étape suivante

Dépannage

Pour en savoir plus, consultez la page Dépannage.