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.
Réinitialiser les connexions à des nœuds défaillants (recommandé)
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
- Équilibrage de charge avec Citrix
- Installer ADC F5 BIG-IP pour GKE sur VMware à l'aide de l'équilibrage de charge manuel