Activer le mode d'équilibrage de charge manuel

Nous vous recommandons de configurer l'un des modes d'équilibrage de charge suivants:

  • En mode groupé, GKE sur 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 minime.

  • En mode manuel, GKE sur VMware utilise un équilibreur de charge de votre choix, tel que F5 BIG-IP ou Citrix. Le mode d'équilibrage de charge manuel nécessite une configuration plus importante qu'avec le mode groupé.

L'équilibrage de charge manuel est compatible avec les types de clusters suivants:

  • Clusters d'utilisateur pour lesquels le plan de contrôle V2 est activé. Avec le plan de contrôle V2, les nœuds du plan de contrôle d'un cluster d'utilisateur se trouvent dans le cluster d'utilisateur lui-même.

  • Clusters d'utilisateur qui utilisent kubeception. Le terme kubeception fait référence au cas où le plan de contrôle d'un cluster d'utilisateur s'exécute sur un ou plusieurs nœuds du cluster d'administrateur. Si le plan de contrôle V2 n'est pas activé, un cluster d'utilisateur utilise kubeception.

Cette page décrit la procédure à suivre si vous choisissez d'utiliser le mode d'équilibrage de charge manuel.

Dans cette rubrique, vous allez réserver des adresses IP pour les nœuds du plan de contrôle et les nœuds de calcul en vue d'une utilisation ultérieure. Vous mettez également de côté des adresses IP pour les adresses IP virtuelles (VIP) et décidez des valeurs de nodePort. L'idée est de choisir les adresses IP et les valeurs nodePort que vous souhaitez utiliser, puis de les enregistrer dans une feuille de calcul ou un autre outil. Lorsque vous êtes prêt à créer vos clusters, vous avez besoin des adresses IP et des valeurs nodePort pour remplir les fichiers de configuration de votre cluster d'administrateur et de votre cluster d'utilisateur, ainsi que les fichiers de blocs d'adresses IP pour vos clusters.

Vous aurez également besoin des adresses IP et des valeurs nodePort lorsque vous configurerez manuellement votre équilibreur de charge pour les clusters d'utilisateur.

Réserver des adresses IP pour les nœuds

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œuds à réserver, consultez les sections Planifier vos adresses IP (Controlplane V2) et Planifier vos adresses IP (kubeception).

Configurer les adresses IP

L'endroit où vous configurez les adresses IP statiques que vous avez réservées dépend du type de cluster et de l'activation ou non du plan de contrôle V2 sur vos clusters d'utilisateur.

Cluster d'administrateur haute disponibilité

Le tableau suivant décrit à quoi servent les adresses IP et où vous les configurez pour les clusters d'administrateur à haute disponibilité.

Adresses IP statiques Configuration
Nœuds du plan de contrôle Fichier de configuration du cluster d'administrateur dans la section network.controlPlaneIPBlock.ips
1.16 et versions antérieures: nœuds complémentaires Fichier de bloc d'adresses IP du cluster d'administrateur et ajoutez le chemin d'accès dans le champ network.ipMode.ipBlockFilePath du fichier de configuration du cluster d'administrateur

À partir de la version 1.28, les nouveaux clusters d'administrateur haute disponibilité ne comportent pas de nœuds complémentaires. Vous n'avez donc pas besoin de réserver des adresses IP pour ces nœuds, comme dans les versions précédentes.

Cluster d'administrateur standard

Le tableau suivant décrit à quoi servent les adresses IP et où vous les configurez pour les clusters d'administrateur standards.

Adresses IP statiques Configuration
Nœud du plan de contrôle Fichier de bloc d'adresses IP du cluster d'administrateur et ajoutez le chemin d'accès dans le champ network.ipMode.ipBlockFilePath du fichier de configuration du cluster d'administrateur
Nœuds complémentaires Fichier de bloc d'adresses IP du cluster d'administrateur

À partir de la version 1.28, tous les nouveaux clusters d'administrateur doivent être des clusters haute disponibilité comportant trois nœuds de plan de contrôle.

Cluster d'utilisateur CP V2

Le tableau suivant décrit à quoi servent les adresses IP et où vous les configurez pour les clusters d'utilisateur avec le plan de contrôle V2 activé.

Adresses IP statiques Configuration
Nœuds du plan de contrôle Fichier de configuration du cluster d'utilisateur dans la section network.controlPlaneIPBlock.ips
Nœuds de calcul Fichier de bloc d'adresses IP du cluster d'utilisateur et ajoutez le chemin d'accès dans le champ network.ipMode.ipBlockFilePath du fichier de configuration du cluster d'utilisateur

Cluster d'utilisateur Kubeception

Le tableau suivant décrit à quoi servent les adresses IP et où vous les configurez pour les clusters d'utilisateur qui utilisent kubeception.

Adresses IP statiques Configuration
Nœuds du plan de contrôle Fichier de bloc d'adresses IP du cluster d'administrateur et ajoutez le chemin d'accès dans le champ network.ipMode.ipBlockFilePath du fichier de configuration du cluster d'administrateur
Nœuds de calcul Fichier de bloc d'adresses IP du cluster d'utilisateur et ajoutez le chemin d'accès dans le champ network.ipMode.ipBlockFilePath du fichier de configuration du cluster d'utilisateur

Réserver des adresses IP pour les adresses IP virtuelles

Que vous utilisiez le mode d'équilibrage de charge intégré, groupé ou manuel, vous devez mettre de côté plusieurs adresses IP que vous prévoyez d'utiliser pour les adresses IP virtuelles pour l'équilibrage de charge. Ces adresses IP virtuelles permettent aux clients externes d'accéder aux serveurs d'API Kubernetes et à votre service d'entrée sur les clusters d'utilisateur.

Configurer des adresses IP virtuelles

L'endroit où vous configurez les adresses IP virtuelles dépend du type de cluster.

Cluster d'administrateur haute disponibilité

Le tableau suivant décrit à quoi sert l'adresse IP virtuelle et où la configurer pour les clusters d'administrateur à haute disponibilité.

VIP Configuration
Adresse IP virtuelle pour le serveur d'API Kubernetes du cluster d'administrateur Fichier de configuration du cluster d'administrateur dans le champ loadBalancer.vips.controlPlaneVIP
1.15 et versions antérieures: adresse IP virtuelle des modules complémentaires Fichier de configuration du cluster d'administrateur dans le champ loadBalancer.vips.addonsVIP

Notez les différences suivantes entre les versions:

  • À partir de la version 1.16, il n'est pas nécessaire de configurer une adresse IP virtuelle pour les modules complémentaires pour les clusters d'administrateur haute disponibilité.

  • À partir de la version 1.28, les nouveaux clusters d'administrateur haute disponibilité ne disposent pas de nœuds complémentaires.

Cluster d'administrateur standard

Le tableau suivant décrit à quoi sert l'adresse IP virtuelle et où vous la configurez pour les clusters d'administrateur standards.

VIP Configuration
Adresse IP virtuelle pour le serveur d'API Kubernetes du cluster d'administrateur Fichier de configuration du cluster d'administrateur dans le champ loadBalancer.vips.controlPlaneVIP
1.15 et versions antérieures: adresse IP virtuelle des modules complémentaires Fichier de configuration du cluster d'administrateur dans le champ loadBalancer.vips.addonsVIP

Notez les différences suivantes entre les versions:

À partir de la version 1.16, il n'est pas nécessaire de configurer une adresse IP virtuelle de modules complémentaires pour les clusters d'administrateur standards.

Cluster d'utilisateur CP V2

Le tableau suivant décrit le rôle des adresses IP virtuelles et l'endroit où vous les configurez pour les clusters d'utilisateur avec le plan de contrôle V2 activé.

VIP Configuration
Adresse IP virtuelle pour le serveur d'API Kubernetes du cluster d'utilisateur Fichier de configuration du cluster d'utilisateur dans le champ loadBalancer.vips.controlPlaneVIP
Adresse IP virtuelle pour le service d'entrée dans le cluster d'utilisateur Fichier de configuration du cluster d'utilisateur dans le champ loadBalancer.vips.ingressVIP

Cluster d'utilisateur Kubeception

Le tableau suivant décrit à quoi servent les adresses IP virtuelles et où vous les configurez pour les clusters d'utilisateur qui utilisent kubeception.

VIP Configuration
Adresse IP virtuelle pour le serveur d'API Kubernetes du cluster d'utilisateur Fichier de configuration du cluster d'utilisateur dans le champ loadBalancer.vips.controlPlaneVIP
Adresse IP virtuelle pour le service d'entrée dans le cluster d'utilisateur Fichier de configuration du cluster d'utilisateur dans le champ loadBalancer.vips.ingressVIP

Réserver des valeurs nodePort

Dans GKE sur VMware, le serveur d'API Kubernetes et le service d'entrée 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.

Configurer les valeurs nodePort

L'emplacement de configuration des valeurs nodePort varie selon que ControlPlane V2 est activé sur le cluster d'utilisateur.

Cluster d'administrateur haute disponibilité

Le tableau suivant décrit à quoi sert la nodePort et où vous la configurez pour les clusters d'administrateur à haute disponibilité.

nodePort Configuration
1.15 et versions antérieures: nodePort pour les nœuds complémentaires Fichier de configuration du cluster d'administrateur dans le champ loadBalancer.manualLB.addonsNodePort

À partir de la version 1.16, il n'est pas nécessaire de configurer un nodePort pour les nœuds complémentaires des clusters d'administrateur à haute disponibilité.

Cluster d'administrateur standard

Le tableau suivant décrit à quoi servent les valeurs nodePort et où vous les configurez pour les clusters d'administrateur standards.

nodePort Configuration
1.16 et versions antérieures: nodePort pour le serveur d'API Kubernetes du cluster d'administrateur 1.15 et versions antérieures: fichier de configuration du cluster d'administrateur dans le champ loadBalancer.vips.controlPlaneNodePort
1.15 et versions antérieures: nodePort pour les nœuds complémentaires Fichier de configuration du cluster d'administrateur dans le champ loadBalancer.manualLB.addonsNodePort

À partir de la version 1.16, il n'est pas nécessaire de configurer un nodePort pour les nœuds complémentaires des clusters d'administrateur standards.

Cluster d'utilisateur CP V2

Le tableau suivant décrit à quoi servent les nodePorts et où vous les configurez pour les clusters d'utilisateur avec le plan de contrôle V2 activé.

nodePorts Configuration
HTTP nodePort pour le service d'entrée dans le cluster d'utilisateur Le fichier de configuration du cluster d'utilisateur dans loadBalancer.manualLB.ingressHTTPNodePort
nodePort HTTPS pour le service d'entrée dans le cluster d'utilisateur Le fichier de configuration du cluster d'utilisateur dans loadBalancer.manualLB.ingressHTTPSNodePort

Vous n'avez pas besoin de configurer un nodePort pour l'adresse IP virtuelle du plan de contrôle, car GKE sur VMware gère l'équilibrage de charge sur les nœuds du plan de contrôle pour les clusters d'utilisateur sur lesquels le plan de contrôle V2 est activé.

Cluster d'utilisateur Kubeception

Le tableau suivant décrit à quoi servent les valeurs nodePort et où vous les configurez pour les clusters d'utilisateur qui utilisent kubeception.

nodePort Configuration
nodePort pour le serveur d'API Kubernetes du cluster d'utilisateur Fichier de configuration du cluster d'utilisateur dans le champ loadBalancer.manualLB.controlPlaneNodePort
nodePort pour le serveur Konnectivity du cluster d'utilisateur (le serveur Konnectivity utilise l'adresse IP virtuelle du plan de contrôle) Fichier de configuration du cluster d'utilisateur dans le champ loadBalancer.manualLB.konnectivityServerNodePort
HTTP nodePort pour le service d'entrée dans le cluster d'utilisateur Le fichier de configuration du cluster d'utilisateur dans loadBalancer.manualLB.ingressHTTPNodePort
nodePort HTTPS pour le service d'entrée dans le cluster d'utilisateur Le fichier de configuration du cluster d'utilisateur dans loadBalancer.manualLB.ingressHTTPSNodePort

Exemple de fichier de configuration de cluster

L'exemple suivant montre une partie d'un fichier de configuration de cluster d'administrateur et d'utilisateur:

Cluster d'administrateur haute disponibilité

  • Version 1.16 ou ultérieure:

    network:
      controlPlaneIPBlock:
        netmask: "255.255.248.0"
        gateway: "21.0.143.254"
        ips:
        - ip: "21.0.140.226"
          hostname: "admin-cp-vm-1"
        - ip: "21.0.141.48"
          hostname: "admin-cp-vm-2"
        - ip: "21.0.141.65"
          hostname: "admin-cp-vm-3"
    loadBalancer:
      vips:
        controlPlaneVIP: "172.16.21.40"
      kind: ManualLB
    
  • Les versions 1.15 et antérieures nécessitent une adresse IP virtuelle et un nodeport pour les nœuds complémentaires.

    network:
      controlPlaneIPBlock:
        netmask: "255.255.248.0"
        gateway: "21.0.143.254"
        ips:
        - ip: "21.0.140.226"
          hostname: "admin-cp-vm-1"
        - ip: "21.0.141.48"
          hostname: "admin-cp-vm-2"
        - ip: "21.0.141.65"
          hostname: "admin-cp-vm-3"
    loadBalancer:
      vips:
        controlPlaneVIP: "172.16.21.40"
        addonsVIP: "203.0.113.4"
      kind: ManualLB
      manualLB:
        addonsNodePort: 31405
    

Cluster d'administrateur standard

  • Version 1.16 ou ultérieure:

    network:
      ipMode:
        type: static
        ipBlockFilePath: "ipblock-admin.yaml"
    loadBalancer:
      vips:
        controlPlaneVIP: "172.16.21.40"
      kind: ManualLB
      manualLB:
        controlPlaneNodePort: 30562
    
  • Les versions 1.15 et antérieures nécessitent une adresse IP virtuelle et un nodeport pour les nœuds complémentaires.

    network:
    ipMode:
      type: static
      ipBlockFilePath: "ipblock-admin.yaml"
    loadBalancer:
    vips:
      controlPlaneVIP: "172.16.21.40"
      addonsVIP: "172.16.21.41"
    kind: ManualLB
    manualLB:
      controlPlaneNodePort: 30562
      addonsNodePort: 30563
    

Cluster d'utilisateur CP V2

network:
  ipMode:
    type: static
    ipBlockFilePath: "ipblock1.yaml"
  controlPlaneIPBlock:
    netmask: "255.255.255.0"
    gateway: "172.16.21.1"
    ips:
    - ip: "172.16.21.6"
      hostname: "cp-vm-1"
    - ip: "172.16.21.7"
      hostname: "cp-vm-2"
    - ip: "172.16.21.8"
      hostname: "cp-vm-3"
loadBalancer:
  vips:
    controlPlaneVIP: "172.16.21.40"
    ingressVIP: "172.16.21.30"
  kind: ManualLB
  manualLB:
    ingressHTTPNodePort: 30243
    ingressHTTPSNodePort: 30879

Cluster d'utilisateur Kubeception

network:
  ipMode:
    type: static
    ipBlockFilePath: "ipblock1.yaml"
loadBalancer:
  vips:
    controlPlaneVIP: "172.16.21.40"
    ingressVIP: "172.16.21.30"
  kind: ManualLB
  manualLB:
    ingressHTTPNodePort: 30243
    ingressHTTPSNodePort: 30879
    konnectivityServerNodePort: 30563
    controlPlaneNodePort: 30562

Configurer l'équilibreur de charge

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.

Cluster d'administrateur haute disponibilité

Trafic vers les nœuds du plan de contrôle

GKE sur VMware gère automatiquement l'équilibrage de charge du trafic du plan de contrôle pour les clusters d'administrateur haute disponibilité. Bien qu'il ne soit pas nécessaire de configurer un mappage dans l'équilibreur de charge, vous devez spécifier une adresse IP dans le champ loadBalancer.vips.controlPlaneVIP.

Trafic vers les services dans les nœuds du module complémentaire

1.15 et versions antérieures: l'exemple suivant montre le mappage avec les adresses IP et les valeurs nodePort pour le trafic vers les services dans les nœuds complémentaires:

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

Ajoutez ce mappage pour tous les nœuds du cluster d'administrateur, à la fois les nœuds du plan de contrôle et les nœuds du module complémentaire.

À partir de la version 1.16, il n'est pas nécessaire de configurer ce mappage pour les nœuds complémentaires des clusters d'administrateur à haute disponibilité.

Cluster d'administrateur standard

Trafic du plan de contrôle

L'exemple suivant montre le mappage avec l'adresse IP et la valeur nodePort pour le nœud de plan de contrôle:

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

Ajoutez ce mappage pour tous les nœuds du cluster d'administrateur, à la fois le nœud du plan de contrôle et les nœuds du module complémentaire.

Trafic vers les services dans les nœuds du module complémentaire

1.15 et versions antérieures: l'exemple suivant montre le mappage avec les adresses IP et les valeurs nodePort pour les services exécutés dans des nœuds complémentaires:

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

Ajoutez ce mappage pour tous les nœuds du cluster d'administrateur, à la fois le nœud du plan de contrôle et les nœuds du module complémentaire.

À partir de la version 1.16, il n'est pas nécessaire de configurer ce mappage pour les nœuds complémentaires des clusters d'administrateur standards.

Cluster d'utilisateur CP V2

Trafic du plan de contrôle

GKE sur VMware gère automatiquement l'équilibrage de charge du trafic du plan de contrôle pour les clusters d'utilisateur lorsque le plan de contrôle V2 est activé. Bien qu'il ne soit pas nécessaire de configurer un mappage dans l'équilibreur de charge, vous devez spécifier une adresse IP dans le champ loadBalancer.vips.controlPlaneVIP.

Trafic du plan de données

L'exemple suivant illustre le mappage avec les adresses IP et les valeurs nodePort pour le trafic du plan de données:

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

Ajoutez ces mappages pour tous les nœuds du cluster d'utilisateur, qu'il s'agisse des nœuds du plan de contrôle ou des nœuds de calcul. Comme vous avez configuré les NodePorts sur le cluster, Kubernetes les ouvre sur tous les nœuds du cluster. Cela permet à n'importe quel nœud du cluster de gérer le trafic du plan de données.

Une fois les mappages configurés, l'équilibreur de charge écoute le trafic sur l'adresse IP que vous avez configurée pour l'adresse IP virtuelle d'entrée du cluster d'utilisateur sur les ports HTTP et HTTPS standards. L'équilibreur de charge achemine les requêtes vers n'importe quel nœud du cluster. Une fois qu'une requête est acheminée vers l'un des nœuds du cluster, la mise en réseau Kubernetes interne prend le relais et achemine la requête vers le pod de destination.

Cluster d'utilisateur Kubeception

Trafic du plan de contrôle

Vous trouverez ci-dessous le mappage sur les adresses IP et les valeurs nodePort pour le trafic du plan de contrôle:

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

Ajoutez ce mappage pour tous les nœuds du cluster admin, à la fois le cluster d'administrateur et les nœuds du plan de contrôle du cluster d'utilisateur.

Trafic du plan de données

L'exemple suivant illustre le mappage avec les adresses IP et les valeurs nodePort pour le trafic du plan de données:

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

Ajoutez ces mappages pour tous les nœuds du cluster d'utilisateur. Avec les clusters d'utilisateur qui utilisent kubeception, tous les nœuds du cluster sont des nœuds de calcul.

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