Anthos clusters on VMware (GKE On-Prem) peut s'exécuter dans l'un des trois modes d'équilibrage de charge : intégré, manuel ou groupé. Cet article explique comment configurer Anthos clusters on VMware pour qu'il s'exécute en mode d'équilibrage de charge groupé.
Les instructions sont ici complètes. Pour une présentation plus courte de l'utilisation de l'équilibreur de charge Seesaw, consultez la page Équilibreur de charge Seesaw (guide de démarrage rapide).
En mode d'équilibrage de charge 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.
L'équilibreur de charge groupé fourni par Anthos clusters on VMware est l'équilibreur de charge Seesaw.
Avantages du mode d'équilibrage de charge groupé
Le mode d'équilibrage de charge groupé offre les avantages suivants par rapport au mode d'équilibrage de charge manuel :
Une seule équipe peut être chargée à la fois de la création du cluster et de la configuration de l'équilibreur de charge. Par exemple, une équipe d'administration de clusters n'a pas besoin de dépendre d'une équipe réseau distincte pour acquérir, exécuter et configurer l'équilibreur de charge à l'avance.
Anthos clusters on VMware configure automatiquement les adresses IP virtuelles de l'équilibreur de charge. Au moment de la création du cluster, Anthos clusters on VMware configure l'équilibreur de charge avec des adresses IP virtuelles pour le serveur d'API Kubernetes, le service d'entrée et les modules complémentaires du cluster. Lorsque des clients créent des services de type LoadBalancer, Anthos clusters on VMware configure automatiquement les adresses IP virtuelles de l'objet Service sur l'équilibreur de charge.
Les dépendances entre les organisations, les groupes et les administrateurs sont réduites. En particulier, le groupe qui gère un cluster dépend moins du groupe qui gère le réseau.
Versions recommandées
Nous vous recommandons vivement d'utiliser les versions 6.7 de vSphere et 6.6 de Virtual Distributed Switch (VDS) pour le mode d'équilibrage de charge groupé.
Vous pouvez utiliser des versions antérieures si vous le souhaitez, mais votre installation sera moins sécurisée. Les sections restantes de cette rubrique fournissent des informations plus détaillées sur les avantages de vSphere 6.7 et de Virtual Distributed Switch (VDS) 6.6 en termes de sécurité.
Planifier vos VLAN
Une installation Anthos clusters on VMware comporte un cluster d'administrateur et un ou plusieurs clusters d'utilisateur. Avec le mode d'équilibrage de charge groupé, nous vous recommandons vivement de disposer vos clusters sur des VLAN distincts. Votre cluster d'administrateur doit notamment se trouver sur son propre VLAN.
Si votre cluster d'administrateur se trouve sur son propre VLAN, le trafic du plan de contrôle est séparé du trafic du plan de données. Cette séparation protège le cluster d'administrateur et les plans de contrôle du cluster d'utilisateur contre les erreurs de configuration accidentelles. De telles erreurs peuvent entraîner, par exemple, des problèmes tels qu'une tempête de diffusion due à des boucles de couche 2 dans le même VLAN, ou à une adresse IP en conflit qui élimine la séparation souhaitée entre le plan de données et le plan de contrôle.
Provisionner des ressources de VM pour l'équilibrage de charge groupé (Seesaw)
Avec l'équilibrage de charge groupé, provisionnez les ressources de processeur et de mémoire de la VM en fonction du trafic réseau prévu.
L'équilibreur de charge groupé n'est pas gourmand en mémoire et peut s'exécuter sur des VM dotées de 1 Go de mémoire. Cependant, des augmentations dans le débit des paquets réseau nécessitent davantage de ressources processeur.
Le tableau ci-dessous présente les consignes en matière d'espace de stockage, de processeur et de mémoire pour le provisionnement de VM. Le taux de paquets n'étant pas une mesure typique des performances du réseau, le tableau indique également le nombre maximal de connexions réseau actives. Les consignes supposent également un environnement dans lequel les VM ont une liaison de 10 Gbit/s, et des processeurs exécutés à moins de 70 %.
Lorsque l'équilibreur de charge groupé s'exécute en mode haute disponibilité, il exécute une paire active et de sauvegarde, de sorte que tout le trafic passe par une seule VM.
Étant donné que les cas d'utilisation réels varient, ces consignes doivent être modifiées en fonction de votre trafic réel. Surveillez les métriques liées au processeur et aux paquets pour effectuer les modifications nécessaires.
Si vous devez modifier le processeur et la mémoire pour les VM Seesaw, vous devez suivre les instructions de mise à niveau des équilibreurs de charge. Sachez que vous pouvez conserver la même version de l'équilibreur de charge groupé et ne modifier que le nombre de processeurs et l'allocation de mémoire.
Pour les clusters d'administrateur de petite taille, nous recommandons 2 processeurs. Pour les clusters d'administrateur de grande taille, nous recommandons 4 processeurs.
Stockage | Processeur | Mémoire | Débit de paquets | Nombre maximal de connexions actives |
---|---|---|---|---|
20 Go | 1 (environnement hors production) | 1 Go | 250 k | 100 |
20 Go | 2 | 3 Go | 450 k | 300 |
20 Go | 4 | 3 Go | 850k | 6 000 |
20 Go | 6 | 3 Go | 1 000 k | 10 000 |
Notez que dans un environnement hors production, vous ne devez provisionner qu'un seul processeur.
Réserver des adresses IP virtuelles
Quel que soit le mode d'équilibrage de charge que vous avez choisi, vous devez mettre de côté les adresses IP virtuelles (VIP) que vous souhaitez utiliser pour l'équilibrage de charge. Ces adresses IP virtuelles permettent aux clients externes d'accéder à vos serveurs d'API Kubernetes, à vos services Ingress et à vos services complémentaires.
Vous devez mettre de côté un ensemble de VIP pour votre cluster d'administrateur et pour chaque cluster d'utilisateur que vous souhaitez créer. Pour un cluster donné, ces VIP doivent se trouver sur le même VLAN que les nœuds du cluster et ses VM Seesaw.
Pour savoir comment mettre de côté les adresses IP virtuelles, consultez la section Mettre de côté les adresses IP virtuelles.
Réserver des adresses IP de nœud
Avec le mode d'équilibrage de charge groupé, vous pouvez spécifier des adresses IP statiques pour vos nœuds de cluster, mais ces derniers peuvent également obtenir leurs adresses IP à partir d'un serveur DHCP.
Si vous souhaitez que vos nœuds de cluster aient des adresses IP statiques, réservez suffisamment d'adresses aux nœuds du cluster d'administrateur et aux 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œuds à réserver, consultez la section Configurer des adresses IP statiques.
Réserver des adresses IP pour les VM Seesaw
Ensuite, mettez de côté les adresses IP des VM qui exécuteront vos équilibreurs de charge Seesaw.
Le nombre d'adresses à mettre de côté varie selon que vous souhaitez créer des équilibreurs de charge à disponibilité élevée ou des équilibreurs de charge standard.
Scénario 1 : équilibreurs de charge Seesaw à disponibilité élevée
Pour votre cluster d'administrateur, définissez deux adresses IP pour une paire de VM Seesaw. Également pour votre cluster d'administration, réservez une adresse IP principale unique pour la paire de VM Seesaw. Ces trois adresses doivent se trouver sur le même VLAN que les nœuds de votre cluster d'administrateur.
Pour chaque cluster d'utilisateur que vous souhaitez créer, mettez de côté deux adresses IP pour une paire de VM Seesaw. De même, pour chaque cluster d'utilisateurs, réservez une adresse IP principale unique pour la paire de VM Seesaw. Pour un cluster d'utilisateur donné, ces trois adresses doivent se trouver sur le même VLAN que les nœuds du cluster d'utilisateur.
Scénario 2 : équilibreurs de charge Seesaw standards
Pour votre cluster d'administrateur, définissez une adresse IP pour une VM Seesaw. Également pour votre cluster d'administrateur, réservez une adresse IP principale pour l'équilibreur de charge Seesaw. Ces deux adresses doivent se trouver sur le même VLAN que les nœuds de votre cluster d'administrateur.
Pour chaque cluster d'utilisateur que vous souhaitez créer, mettez de côté une adresse IP pour une VM Seesaw. Pour chaque cluster d'utilisateurs, réservez également une adresse IP principale pour l'équilibreur de charge Seesaw. Ces deux adresses doivent se trouver sur le même VLAN que les nœuds du cluster d'utilisateur.
Planifier des groupes de ports
Chacune de vos VM Seesaw possède deux interfaces réseau. L'une de ces interfaces réseau est configurée avec les adresses IP virtuelles de service. L'autre interface réseau est configurée avec l'adresse IP de la VM elle-même.
Pour une VM Seesaw, les deux interfaces réseau peuvent être connectées au même groupe de ports vSphere ou peuvent être associées à des groupes de ports distincts. Si les groupes de ports sont distincts, ils doivent se trouver sur le même VLAN.
Cette rubrique fait référence à deux groupes de ports :
Groupe de ports de l'équilibreur de charge : pour une VM Seesaw, l'interface réseau configurée avec les adresses IP de service est connectée à ce groupe de ports.
Groupe de ports du nœud de cluster : pour une VM Seesaw, l'interface réseau configurée avec l'adresse IP de la VM elle-même est connectée à ce groupe de ports. Les nœuds de votre cluster Anthos clusters on VMware sont également connectés à ce groupe de ports.
Le groupe de ports de l'équilibreur de charge et le groupe de ports du nœud de cluster peuvent être identiques. Toutefois, nous vous recommandons vivement qu'ils soient distincts.
Créer des fichiers de blocs d'adresses IP
Pour chaque cluster que vous souhaitez créer, spécifiez les adresses que vous avez choisies pour vos VM Seesaw dans un fichier de bloc d'adresses IP. Ce fichier de bloc d'adresses IP concerne les VM de votre équilibreur de charge, et non les nœuds de votre cluster. Si vous avez l'intention d'utiliser des adresses IP statiques pour vos nœuds de cluster, vous devez créer un fichier de bloc d'adresses IP distinct pour ces adresses. Voici un exemple de fichier de bloc d'adresses IP qui spécifie deux adresses IP pour les VM Seesaw :
blocks: - netmask: "255.255.255.0" gateway: "172.16.20.1" ips: - ip: "172.16.20.18" hostname: "seesaw-vm"
Remplir vos fichiers de configuration
Préparez un fichier de configuration pour chacun des clusters : cluster d'administrateur et cluster d'utilisateur.
Dans le fichier de configuration de chaque cluster, définissez loadBalancer.kind
sur "Seesaw"
.
Pour chaque cluster de votre fichier de configuration, remplissez la section seesaw
dans la section loadBalancer
.
loadBalancer: kind: Seesaw seesaw: ipBlockFilePath:: vrid: masterIP: cpus: memoryMB: vCenter: networkName: enableha: antiAffinityGroups: enabled:
seesaw.ipBlockFilePath
Chaîne. Définissez cette chaîne sur le chemin d'accès du fichier de bloc d'adresses IP pour vos VM Seesaw. Exemple :
loadBalancer: seesaw: ipBlockFilePath: "admin-seesaw-ipblock.yaml"
seesaw.vrid
Entier. Identifiant de routeur virtuel de votre VM Seesaw. Cet identifiant doit être unique dans un VLAN. La plage valide est comprise entre 1 et 255. Exemple :
loadBalancer: seesaw: vrid: 125
seesaw.masterIP
Chaîne. L'adresse IP principale de Seesaw. Exemple :
loadBalancer: seesaw: masterIP: 172.16.20.21
seesaw.cpus
Entier. Nombre de processeurs de votre VM Seesaw. Exemple :
loadBalancer: seesaw: cpus: 4
seesaw.memoryMB
Entier. Nombre de mégaoctets de mémoire pour votre VM Seesaw. Exemple :
loadBalancer: seesaw: memoryMB: 3072
seesaw.vCenter.networkName
Chaîne. Nom du réseau contenant vos VM Seesaw. S'il n'est pas défini, il utilise le même réseau que le cluster. Exemple :
loadBalancer: seesaw: vCenter: networkName: "my-seesaw-network"
seesaw.enableHA
Valeur booléenne. Si vous souhaitez créer un équilibreur de charge Seesaw à haute disponibilité, définissez cette valeur sur true
. Sinon, définissez cette valeur sur false
. Exemple :
loadBalancer: seesaw: enableHA: true
Si vous définissez enableha
sur true
, vous devez activer l'apprentissage MAC.
seesaw.antiAffinityGroups.enabled
Si vous souhaitez appliquer une règle anti-affinité à vos VM Seesaw, définissez la valeur de seesaw.antiAffinityGroups.enabled
sur true
. Sinon, définissez la valeur sur false
. La valeur par défaut est true
. La valeur recommandée est true
, de sorte que vos VM Seesaw soient placées sur des hôtes physiques différents chaque fois que cela est possible. Exemple :
loadBalancer: seesaw antiAffinityGroups: enabled: true
Activer l'apprentissage MAC ou le mode promiscuité (haute disponibilité uniquement)
Si vous configurez un équilibreur de charge Seesaw standard, vous pouvez ignorer cette section.
Si vous configurez un équilibreur de charge Seesaw à haute disponibilité, vous devez activer une combinaison d'apprentissage MAC, de transmissions falsifiées et de mode promiscuité sur le groupe de ports de l'équilibreur de charge.
La méthode d'activation de ces fonctionnalités varie selon le type de commutateur :
Type de commutateur | Activation des fonctionnalités | Impact sur la sécurité |
---|---|---|
vSphere 6.7 avec VDS 6.6 |
Activez l'apprentissage MAC et les transmissions falsifiées pour votre équilibreur de charge en exécutant la commande |
Minimal. Si le groupe de ports de votre équilibreur de charge n'est connecté qu'à vos VM Seesaw, vous pouvez limiter l'apprentissage MAC à vos VM Seesaw de confiance. |
vSphere 6.5 ou vSphere 6.7 avec une version de VDS antérieure à 6.6 |
Activez le mode promiscuité et les transmissions falsifiées pour le groupe de ports de votre équilibreur de charge. Dans l'onglet Mise en réseau, utilisez l'interface utilisateur de vSphere sur la page du groupe de ports : Modifier les paramètres -> Sécurité. | Toutes les VM du groupe de ports de l'équilibreur de charge sont en mode promiscuité. Ainsi, elles peuvent toutes voir l'ensemble du trafic. Si le groupe de ports de votre équilibreur de charge n'est connecté qu'à vos VM Seesaw, seules ces VM verront l'ensemble du trafic. |
Commutateur logique NSX-T | Activez l'apprentissage MAC sur le commutateur logique. | vSphere ne permet pas de créer deux commutateurs logiques dans le même domaine de couche 2. Par conséquent, les VM Seesaw et les nœuds de cluster doivent se trouver sur le même commutateur logique. Cela signifie que l'apprentissage MAC est activé pour tous les nœuds de cluster. Un pirate informatique peut être en mesure de falsifier une adresse MAC en exécutant des pods privilégiés dans le cluster. |
Commutateur standard vSphere | Activez le mode promiscuité et les transmissions falsifiées pour le groupe de ports de votre équilibreur de charge. Utilisez l'interface utilisateur vSphere sur chaque hôte ESXI : Configurer -> Commutateurs virtuels -> Commutateur standard -> Modifier le paramètre sur le groupe de ports -> Sécurité. | Toutes les VM du groupe de ports de l'équilibreur de charge sont en mode promiscuité. Ainsi, elles peuvent toutes voir l'ensemble du trafic. Si le groupe de ports de votre équilibreur de charge n'est connecté qu'à vos VM Seesaw, seules ces VM verront l'ensemble du trafic. |
Exécuter une vérification préliminaire sur votre fichier de configuration
Après avoir créé les fichiers de bloc d'adresses IP et le fichier de configuration de votre cluster d'administrateur, exécutez une vérification préliminaire sur ce fichier :
gkectl check-config --config [ADMIN_CONFIG_FILE]
où [ADMIN_CONFIG_FILE] est le chemin d'accès au fichier de configuration de votre cluster d'administrateur Anthos clusters on VMware.
Pour le fichier de configuration du cluster d'utilisateur, vous devez inclure le fichier kubeconfig de votre cluster d'administrateur dans la commande :
gkectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] check-config --config [USER_CONFIG_FILE]
où [ADMIN_CLUSTER_KUBECONFIG] représente le chemin du fichier kubeconfig de votre cluster d'administrateur.
Si la vérification préliminaire échoue, apportez les modifications nécessaires à votre fichier de configuration Anthos clusters on VMware et à vos fichiers de bloc d'adresses IP. Ensuite, relancez la vérification préliminaire.
Importer des images de l'OS
Exécutez cette commande pour importer des images d'OS dans votre environnement vSphere :
gkectl prepare --config [ADMIN_CONFIG_FILE]
où [ADMIN_CONFIG_FILE] est le chemin d'accès au fichier de configuration de votre cluster d'administrateur Anthos clusters on VMware.
Créer un cluster d'administrateur utilisant le mode d'équilibrage de charge groupé
Créez et configurez la ou les VM pour votre équilibreur de charge du cluster d'administrateur :
gkectl create loadbalancer --config [CONFIG_FILE]
où [CONFIG_FILE] est le chemin d'accès de votre fichier de configuration Anthos clusters on VMware pour le cluster d'administrateur.
Créez le cluster d'administrateur :
gkectl create admin --config [CONFIG_FILE]
où [CONFIG_FILE] est le chemin d'accès au fichier de configuration de votre cluster d'administrateur Anthos clusters on VMware.
Créer un cluster d'utilisateur utilisant le mode d'équilibrage de charge groupé
Créez et configurez la ou les VM pour votre équilibreur de charge du cluster d'utilisateur :
gkectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] create loadbalancer --config [CONFIG_FILE]
Créez le cluster d'utilisateur :
gkectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] create cluster --config [CONFIG_FILE]
où [ADMIN_CLUSTER_KUBECONFIG] est le chemin d'accès au fichier kubeconfig de votre cluster d'administrateur et [CONFIG_FILE] est le chemin d'accès au fichier de configuration du cluster d'utilisateur Anthos clusters on VMware.
Tests de performance et de charge
Le débit de téléchargement de votre application évolue de manière linéaire avec le nombre de backends. En effet, les backends envoient des réponses directement aux clients, en contournant l'équilibreur de charge, à l'aide du retour direct du serveur.
En revanche, le débit de transfert de votre application est limité par la capacité de la VM Seesaw qui exécute l'équilibrage de charge.
La quantité de consommation de processeur et de mémoire requises varie en fonction des applications. Il est donc essentiel de procéder à un test de charge avant de commencer à traiter un grand nombre de clients.
Les tests indiquent qu'une seule machine de type Seesaw avec 6 processeurs et 3 Go de mémoire peut gérer 10 Go/s (débit en ligne) en important 10 Ko de connexions TCP simultanées. Cependant, il est important d'exécuter votre propre test de charge si vous envisagez de prendre en charge un grand nombre de connexions TCP simultanées.
Limites de scaling
Le mode d'équilibrage de charge groupé limite l'évolutivité de votre cluster. Par exemple, le nombre de nœuds de votre cluster et de services pouvant être configurés sur votre équilibreur de charge est limité. C'est également le cas des vérifications de l'état. Leur nombre dépend à la fois du nombre de nœuds et du nombre de services.
En effet, à partir de la version 1.3.1, le nombre de vérifications d'état dépend du nombre de nœuds et de services locaux de trafic. Un service local de trafic est un service dont externalTrafficPolicy
est défini sur "Local"
.
Version 1.3.0 | Version 1.3.1 et ultérieure | |
---|---|---|
Nombre maximal de services (S) | 100 | 500 |
Nombre maximal de nœuds (N) | 100 | 100 |
Nombre maximal de vérifications d'état | S * N <= 10 000 | N + L * N <= 10 000, où L représente le nombre de services locaux de trafic |
Exemple : Dans la version 1.3.1, supposons que vous ayez 100 nœuds et 99 services locaux de trafic. Dans ce cas, le nombre de vérifications d'état est de 100 + 99 * 100 = 10 000, ce qui correspond à la limite de 10 000.
Mettre à niveau l'équilibreur de charge de votre cluster d'administrateur
À partir de la version 1.4, les équilibreurs de charge sont mis à niveau lors de la mise à niveau du cluster. Vous n'avez pas besoin d'exécuter une autre commande pour mettre à niveau les équilibreurs de charge séparément. Toutefois, vous pouvez exécuter la commande gkectl upgrade loadbalancer
ci-dessous pour mettre à jour certains paramètres.
Vous pouvez mettre à jour les processeurs et la mémoire pour vos VM Seesaw. Créez un fichier de configuration comme dans l'exemple ci-dessous, puis définissez les processeurs et la mémoire pour vos VM Seesaw. Laissez-les vides pour les conserver tels quels. Si bundlePath est défini, il met à niveau l'équilibreur de charge vers celui spécifié dans le groupe.
Exemple :
apiVersion: v1 kind: AdminCluster bundlePath: loadBalancer: kind: Seesaw seesaw: cpus: 3 memoryMB: 3072
Exécutez ensuite cette commande pour mettre à niveau votre équilibreur de charge :
gkectl upgrade loadbalancer --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [ADMIN_CLUSTER_CONFIG] --admin-cluster
où :
[ADMIN_CLUSTER_KUBECONFIG] représente le fichier kubeconfig de votre cluster d'administrateur.
[ADMIN_CLUSTER_CONFIG] est le fichier de configuration du cluster d'administrateur que vous avez créé.
La mise à niveau d'un équilibreur de charge entraîne des temps d'arrêt. Si le mode haute disponibilité est activé pour l'équilibreur de charge, le temps d'arrêt maximal est de deux secondes.
Mettre à niveau l'équilibreur de charge pour un cluster d'utilisateur
À partir de la version 1.4, les équilibreurs de charge sont mis à niveau lors de la mise à niveau du cluster. Vous n'avez pas besoin d'exécuter une autre commande pour mettre à niveau les équilibreurs de charge séparément. Toutefois, vous pouvez utiliser le gkectl upgrade loadbalancer
ci-dessous pour mettre à jour certains paramètres.
Vous pouvez mettre à jour les processeurs et la mémoire pour vos VM Seesaw. Créez un fichier de configuration comme dans l'exemple ci-dessous, puis définissez les processeurs et la mémoire pour vos VM Seesaw. Laissez-les vides pour les conserver tels quels. Si gkeOnPremVersion
est défini, il met à niveau l'équilibreur de charge vers celui spécifié par cette version.
Exemple :
apiVersion: v1 kind: UserCluster name: cluster-1 gkeOnPremVersion: loadBalancer: kind: Seesaw seesaw: cpus: 4 memoryMB: 3072
Exécutez ensuite cette commande pour mettre à niveau votre équilibreur de charge :
gkectl upgrade loadbalancer --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [USER_CLUSTER_CONFIG]
où :
[ADMIN_CLUSTER_KUBECONFIG] représente le fichier kubeconfig de votre cluster d'administrateur.
[USER_CLUSTER_CONFIG] est le fichier de configuration utilisateur que vous avez créé.
Afficher les journaux Seesaw
L'équilibreur de charge groupé Seesaw stocke les fichiers journaux sur les VM Seesaw dans /var/log/seesaw/
. Le fichier journal le plus important est seesaw_engine.INFO
.
À partir de la version 1.6, si Stackdriver est activé, les journaux sont également importés dans le cloud. Vous pouvez les consulter sous la ressource "anthos_l4lb". Pour désactiver l'importation des journaux, vous pouvez vous connecter en SSH à la VM et exécuter la commande suivante :
sudo systemctl disable --now docker.fluent-bit.service
Afficher les informations sur vos VM Seesaw
Vous pouvez obtenir des informations sur les VM Seesaw d'un cluster à partir de la ressource personnalisée SeesawGroup.
Affichez la ressource personnalisée SeesawGroup d'un cluster :
kubectl --kubeconfig [CLUSTER_KUBECONFIG] get seesawgroups -n kube-system -o yaml
où [CLUSTER_KUBECONFIG] représente le chemin du fichier kubeconfig pour le cluster.
Le résultat comporte un champ isReady
qui indique si les VM sont prêtes à gérer le trafic. Le résultat affiche également les noms et les adresses IP des VM Seesaw, et la VM principale :
apiVersion: seesaw.gke.io/v1alpha1 kind: SeesawGroup metadata: ... name: seesaw-for-cluster-1 namespace: kube-system ... spec: {} status: machines: - hostname: cluster-1-seesaw-1 ip: 172.16.20.18 isReady: true lastCheckTime: "2020-02-25T00:47:37Z" role: Master - hostname: cluster-1-seesaw-2 ip: 172.16.20.19 isReady: true lastCheckTime: "2020-02-25T00:47:37Z" role: Backup
Afficher les métriques Seedaw
L'équilibreur de charge groupé Seesaw fournit les métriques suivantes :
- Débit par objet Service ou nœud
- Débit de paquets par objet Service ou nœud
- Connexions actives par objet Service ou nœud
- Utilisation du processeur et de la mémoire
- Nombre de pods backend sains par service
- Quelle VM est la VM principale et quelle VM est la sauvegarde
- Disponibilité
À partir de la version 1.6, ces métriques sont importées dans Cloud avec Stackdriver. Vous pouvez les consulter sous la ressource de surveillance "anthos_l4lb".
Vous pouvez également utiliser toutes les solutions de surveillance et de tableau de bord de votre choix, à condition qu'elles soient compatibles avec le format Prometheus.
Supprimer un équilibreur de charge
Si vous supprimez un cluster qui utilise un équilibrage de charge groupé, vous devez supprimer les VM Seesaw de ce cluster. Pour ce faire, supprimez les VM Seesaws dans l'interface utilisateur vSphere.
À la place de la version 1.4.2, vous pouvez également exécuter gkectl
et transmettre les fichiers de configuration pour supprimer l'équilibreur de charge groupé et son fichier de groupe.
Pour les clusters d'administrateur, exécutez la commande suivante:
gkectl delete loadbalancer --config [ADMIN_CONFIG_FILE] --seesaw-group-file [GROUP_FILE]
Pour les clusters d'utilisateur, exécutez la commande suivante:
gkectl delete loadbalancer --config [CLUSTER_CONFIG_FILE] --seesaw-group-file [GROUP_FILE] --kubeconfig [ADMIN_CLUSTER_KUBECONFIG]
Où :
[ADMIN_CONFIG_FILE] est le fichier de configuration du cluster d'administrateur
[CLUSTER_CONFIG_FILE] est le fichier de configuration du cluster d'utilisateur
[ADMIN_CLUSTER_KUBECONFIG] est le fichier
kubeconfig
du cluster d'administrateur.[GROUP_FILE] est le fichier de groupe Seesaw. Le nom du fichier de groupe se présente sous la forme suivante :
seesaw-for-[CLUSTER_NAME]-[IDENTIFIER].yaml
.
Versions antérieures à 1.4.2
Dans les versions antérieures à 1.4.2, vous pouvez également exécuter cette commande, qui supprime les VM Seesaw et le fichier de groupe Seesaw :
gkectl delete loadbalancer --config vsphere.yaml --seesaw-group-file [GROUP_FILE]
Où :
[GROUP_FILE] représente le fichier de groupe Seesaw. Le fichier de groupe se trouve sur votre poste de travail administrateur, à côté de
config.yaml
. Le nom du fichier de groupe se présente sous la forme suivante :seesaw-for-[CLUSTER_NAME]-[IDENTIFIER].yaml
.vsphere.yaml
représente un fichier contenant les informations suivantes sur votre serveur vCenter :
vcenter: credentials: address: username: password: datacenter: cacertpath:
Dépannage
Obtenir une connexion SSH à une VM Seesaw
Il peut arriver que vous souhaitiez vous connecter en SSH à une VM Seesaw pour le dépannage ou le débogage.
Obtenir la clé SSH
Si vous avez déjà créé votre cluster, procédez comme suit pour obtenir la clé SSH :
Récupérez le Secret
seesaw-ssh
du cluster. Obtenez la clé SSH du Secret et décodez-la en base64. Enregistrez la clé décodée dans un fichier temporaire :kubectl --kubeconfig [CLUSTER_KUBECONFIG] get -n kube-system secret seesaw-ssh -o \ jsonpath='{@.data.seesaw_ssh}' | base64 -d | base64 -d > /tmp/seesaw-ssh-key
où [CLUSTER_KUBECONFIG] représente le fichier kubeconfig de votre cluster d'utilisateur.
Définissez les autorisations appropriées pour le fichier de clé :
chmod 0600 /tmp/seesaw-ssh-key
Si vous n'avez pas encore créé votre cluster, procédez comme suit pour obtenir la clé SSH :
Recherchez le fichier nommé
seesaw-for-[CLUSTER_NAME]-[IDENTIFIER].yaml
.Le fichier est appelé fichier de groupe et se trouve à côté du fichier
config.yaml
.La commande
gkectl create loadbalancer
imprime également l'emplacement du fichier de groupe.Dans le fichier, récupérez la valeur de
credentials.ssh.privateKey
et décodez-la en base64. Enregistrez la clé décodée dans un fichier temporaire :cat seesaw-for-[CLUSTER_NAME]-[IDENTIFIER].yaml | grep privatekey | sed 's/ privatekey: //g' \ | base64 -d > /tmp/seesaw-ssh-key
Définissez les autorisations appropriées pour le fichier de clé :
chmod 0600 /tmp/seesaw-ssh-key
Vous pouvez maintenant vous connecter en SSH à la VM Seesaw :
ssh -i /tmp/seesaw-ssh-key ubuntu@[SEESAW_IP]
où [SEESAW_IP] représente l'adresse IP de la VM Seesaw.
Obtenir des instantanés
Vous pouvez capturer des instantanés pour les VM Seesaw à l'aide de la commande gkectl diagnose snapshot
avec l'option --scenario
.
Si vous définissez --scenario
sur all
ou all-with-logs
, le résultat inclut des instantanés de Seesaw avec d'autres instantanés.
Si vous définissez --scenario
sur seesaw
, le résultat inclut uniquement les instantanés Seesaw.
Exemples :
gkectl diagnose snapshot --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --scenario seesaw
où [ADMIN_CLUSTER_KUBECONFIG] représente le fichier kubeconfig de votre cluster d'administrateur.
gkectl diagnose snapshot --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --cluster-name [CLUSTER_NAME] --scenario seesaw
gkectl diagnose snapshot --seesaw-group-file [GROUP_FILE] --scenario seesaw
où [GROUP_FILE] représente le chemin du fichier de groupe du cluster, par exemple : seesaw-for-gke-admin-xxxxxx.yaml
.
Problèmes connus
Mise à niveau de l'équilibreur de charge vers la version 1.3.x impossible
Il est connu que si antiaffinitygroups
est désactivé pour un équilibreur de charge Seesaw, la mise à niveau de l'équilibreur de charge de la version 1.3.x vers la version 1.3.x+ échouera en indiquant l'erreur suivante :
La valeur SeesawGroup mise à jour n'est pas valide : SeesawConfig n'est pas valide : AntiAffinityGroups doit être défini sur la valeur par défaut si l'utilisateur n'en fournit aucune.
Le problème a été corrigé dans la version 1.4 afin que vous puissiez ignorer la version 1.3.x+ et passer à la version 1.4.