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é, Google Distributed Cloud fournit et gère l'équilibreur de charge. Vous n'avez pas besoin d'obtenir de licence pour un équilibreur de charge, et la configuration à effectuer est minime.

  • En mode manuel, Google Distributed Cloud utilise l'équilibreur de charge de votre choix, tel que F5 BIG-IP ou Citrix. Le mode d'équilibrage de charge manuel nécessite davantage de configuration qu'avec le mode groupé.

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

  • Clusters d'utilisateur sur lesquels Controlplane V2 est activé. Avec Controlplane 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 Controlplane V2 n'est pas activé, un cluster d'utilisateur utilise kubeception.

Cette page décrit les étapes à 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. Vous les utiliserez ultérieurement. Vous mettez également de côté les adresses IP pour les adresses IP virtuelles (VIP) et décidez des valeurs 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, de votre cluster d'utilisateur et des fichiers de blocs d'adresses IP de 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'emplacement de configuration des adresses IP statiques que vous avez réservées dépend du type de cluster et de l'activation ou non de Controlplane 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, puis ajoutez le chemin d'accès dans le champ network.ipMode.ipBlockFilePath du fichier de configuration du cluster d'administrateur

Dans les versions 1.28 et ultérieures, 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, puis 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é avec 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 Controlplane 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, puis 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, puis 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, puis 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 réserver les adresses IP que vous prévoyez d'utiliser pour les adresses IP virtuelles (VIP) à des fins d'é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'emplacement de configuration des 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ù vous la configurez 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 au niveau des versions:

  • Dans les versions 1.16 et ultérieures, il n'est pas nécessaire de configurer une adresse IP virtuelle de modules complémentaires pour les clusters d'administrateur haute disponibilité.

  • Dans les versions 1.28 et ultérieures, les nouveaux clusters d'administrateur haute disponibilité ne comportent 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 au niveau des versions:

Dans les versions 1.16 et ultérieures, 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 à quoi servent les adresses IP virtuelles et où vous les configurez pour les clusters d'utilisateur avec Controlplane 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 utilisant 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 Google Distributed Cloud, 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é ou non sur le cluster d'utilisateur.

Cluster d'administrateur haute disponibilité

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

nodePort Configuration
1.15 et versions antérieures: nodePort pour les nœuds de module complémentaire 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 de modules 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 Controlplane V2 activé.

nodePorts Configuration
HTTP nodePort pour le service d'entrée dans le cluster d'utilisateur Fichier de configuration du cluster d'utilisateur dans loadBalancer.manualLB.ingressHTTPNodePort
HTTPS nodePort pour le service d'entrée dans le cluster d'utilisateur 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 Google Distributed Cloud gère l'équilibrage de charge vers les nœuds du plan de contrôle pour les clusters d'utilisateur pour lesquels Controlplane 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 Fichier de configuration du cluster d'utilisateur dans loadBalancer.manualLB.ingressHTTPNodePort
HTTPS nodePort pour le service d'entrée dans le cluster d'utilisateur 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é

  • Versions 1.16 et ultérieures:

    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 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

  • Versions 1.16 et ultérieures:

    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 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

Google Distributed Cloud 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: le tableau suivant montre le mappage avec les adresses IP et les valeurs nodePort pour le trafic vers les services dans les nœuds de modules 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 des modules complémentaires.

À 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

Voici le mappage avec l'adresse IP et la valeur nodePort pour le nœud du 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 complémentaires.

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

1.15 et versions antérieures: le tableau suivant montre le mappage avec les adresses IP et les valeurs nodePort pour les services exécutés dans des nœuds de modules 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 complémentaires.

À 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

Google Distributed Cloud gère automatiquement l'équilibrage de charge du trafic du plan de contrôle pour les clusters d'utilisateur sur lesquels Controlplane 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

Vous trouverez ci-dessous la mise en correspondance 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, à la fois les nœuds du plan de contrôle et les nœuds de calcul. Étant donné que 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, le 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

Le tableau suivant montre le mappage avec 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

Vous trouverez ci-dessous la mise en correspondance 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. Dans les clusters d'utilisateur utilisant 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