GKE On-Prem peut s'exécuter dans l'un des trois modes d'équilibrage de charge suivants : intégré, manuel ou groupé. Cet article explique comment configurer GKE On-Prem pour qu'il s'exécute en mode d'équilibrage de charge groupé.
Dans le mode d'équilibrage de charge groupé, GKE On-Prem fournit et gère l'équilibreur de charge. Vous n'avez pas besoin d'obtenir une licence pour un équilibreur de charge, et la configuration à effectuer est minimale.
L'équilibreur de charge fourni par GKE on-Prem 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.
GKE On-Prem configure automatiquement les adresses IP virtuelles (VIP) de l'équilibreur de charge. Au moment de la création du cluster, GKE On-Prem configure l'équilibreur de charge avec des adresses IP 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, GKE On-Prem configure automatiquement les VIP 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 GKE On-Prem comporte un cluster d'administrateur et un ou plusieurs clusters d'utilisateurs. Avec le mode d'équilibrage de charge groupé, nous vous recommandons vivement de disposer vos clusters sur des VLAN distincts. Il est particulièrement important que votre cluster d'administrateur se trouve sur son propre VLAN.
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.
Mettre de côté des adresses IP et des adresses IP virtuelles pour les VM Seesaw
Vous devez à présent mettre de côté les adresses IP et les adresses IP virtuelles 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 standards.
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. Toujours pour votre cluster d'administrateur, définissez une adresse IP virtuelle 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. Toujours pour chaque cluster d'utilisateur, définissez une adresse IP virtuelle 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. Toujours pour votre cluster d'administrateur, mettez de côté une adresse IP virtuelle 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'utilisateur, mettez également de côté une adresse IP virtuelle 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 l'adresse IP virtuelle de votre équilibreur de charge Seesaw. 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 l'adresse IP virtuelle de l'équilibreur de charge Seesaw 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. Vos nœuds de cluster GKE On-Prem sont également connectés à ce groupe de ports.
Le groupe de ports de l'équilibreur de charge et le groupe de ports du conteneur peuvent être identiques. Toutefois, nous vous recommandons vivement qu'ils soient distincts.
Créer des fichiers hostconfig
Pour chaque cluster que vous souhaitez créer, spécifiez les adresses que vous avez choisies pour vos VM Seesaw dans un fichier hostconfig. Ce fichier hostconfig est destiné à la VM de votre équilibreur de charge, et non aux 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 hostconfig distinct pour ces adresses. Voici un exemple de fichier hostconfig qui spécifie deux adresses IP pour les VM Seesaw :
hostconfig: dns: "172.16.255.1" tod: "192.138.210.214" otherdns: - "8.8.8.8" - "8.8.4.4" othertod: - "ntp.ubuntu.com" searchdomainsfordns: - "my.local.com" blocks: - netmask: "255.255.252.0" gateway: "110.116.232.1" ips: - ip: "172.16.20.18" hostname: "seesaw-1" - ip: "172.16.20.19" hostname: "seesaw-2"
Remplir le fichier de configuration GKE On-Prem
Avant de créer un cluster, préparez un fichier de configuration GKE On-Prem.
Dans votre fichier de configuration, définissez lbmode
sur "Bundled"
.
Un fichier de configuration peut contenir les spécifications d'un ou de plusieurs clusters. Pour chaque cluster de votre fichier de configuration, remplissez la section loadbalancerconfig
.
loadbalancerconfig: ipblockfilepath: vrid: vip: cpus: memorymb: enableha: antiaffinitygroups: enabled: network:
loadbalancerconfig.ipblockfilepath
Définissez loadbalancerconfig.ipfileblockpath
sur le chemin d'accès du fichier hostconfig pour votre équilibreur de charge. Exemple :
ipblockfilepath: "config-file-directory/my-user-hostconfig.yaml"
loadbalancerconfig.vrid
Définissez loadbalancerconfig.vrid
sur l'identifiant de routeur virtuel de votre groupe Seesaw. Cet identifiant doit être unique dans un VLAN. La plage valide est comprise entre 1 et 255.
Exemple :
vrid: 125
loadbalancerconfig.vip
Définissez loadbalancerconfig.vip
sur l'adresse IP virtuelle du groupe Seesaw. Exemple :
vip: "172.16.20.21"
loadbalancerconfig.cpus
Définissez loadbalancerconfig.cpus
sur le nombre de processeurs de chacune de vos VM Seesaw.
Exemple :
cpus: 4
loadbalancerconfig.memorymb
Définissez loadbalancerconfig.memorymb
sur le nombre de mégaoctets de mémoire de chacune de vos VM Seesaw. Exemple :
memorymb: 3072
loadbalancerconfig.antiaffinitygroups.enabled
Si vous souhaitez appliquer une règle anti-affinité à vos VM Seesaw, définissez la valeur de loadbalancerconfig.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 :
antiaffinitygroups: enabled: true
loadbalancerconfig.enableha
Si vous souhaitez un équilibreur de charge Seesaw à haute disponibilité, définissez la valeur loadbalancerconfig.enableha
sur true
. Sinon, définissez cette valeur sur false
.
La valeur par défaut est false
.
enableha: true
Si vous définissez enableha
sur true
, vous devez activer l'apprentissage MAC.
loadbalancerconfig.network
Définissez loadbalancerconfig.network
sur le nom du groupe de ports de votre équilibreur de charge. Si vous laissez ce champ vide, l'interface réseau configurée avec l'adresse IP virtuelle de votre équilibreur de charge Seesaw sera connectée à votre groupe de ports de nœud de cluster.
Exemple :
network: "USER_SEESAW_VIP_PORT_GROUP"
Exemple à partir d'un fichier de configuration GKE On-Prem
Voici un exemple qui montre des parties d'un fichier de configuration GKE On-Prem. Le fichier de configuration décrit deux clusters : un cluster d'administrateur et un cluster d'utilisateur. Chaque cluster possède une section loadbalancerconfig
:
lbmode: "Bundled" ... admincluster: loadbalancerconfig: ipblockfilepath: "admin-hostconfig.yaml" vrid: 124 vip: 172.16.20.20 cpus: 2 memorymb: 3072 enableha: true antiaffinitygroups: enabled: true network: "ADMIN_LOAD_BALANCER_PORT_GROUP" ... usercluster: loadbalancerconfig: ipblockfilepath: "user-hostconfig.yaml" vrid: 125 vip: 172.16.20.21 cpus: 4 memorymb: 3072 enableha: true antiaffinitygroups: enabled: true network: "USER_LOAD_BALANCER_PORT_GROUP"
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éé vos fichiers hostconfig et votre fichier de configuration GKE On-Prem, exécutez une vérification préliminaire dans votre fichier de configuration :
gkectl check-config --config [CONFIG_FILE]
où [CONFIG_FILE] représente le chemin d'accès de votre fichier de configuration GKE On-Prem.
Si vous avez déjà un cluster d'administrateur et que votre fichier de configuration ne contient que des spécifications usercluster
, vous devez inclure le fichier kubeconfig de votre cluster dans la commande :
gkectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] check-config --config [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 GKE On-Prem et à vos fichiers hostconfig. 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 [CONFIG_FILE]
où [CONFIG_FILE] représente le chemin de votre fichier de configuration GKE On-Prem.
Créer l'équilibreur de charge
Créez et configurez la ou les VM pour votre équilibreur de charge :
gkectl create loadbalancer --config [CONFIG_FILE]
où [CONFIG_FILE] représente le chemin de votre fichier de configuration GKE On-Prem.
Créer un cluster utilisant le mode d'équilibrage de charge groupé
Créez vos clusters :
gkectl create cluster --config [CONFIG_FILE]
où [CONFIG_FILE] représente le chemin de votre fichier de configuration GKE On-Prem.
Si vous avez déjà un cluster d'administrateur et que votre fichier de configuration ne contient que des spécifications usercluster
, vous devez inclure le fichier kubeconfig de votre cluster dans la commande :
gkectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] check-config --config [CONFIG_FILE]
[ADMIN_CLUSTER_KUBECONFIG] représente le chemin d'accès au fichier kubeconfig du cluster d'administrateur.
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 ressources de processeur et de mémoire consommée 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 dotée de 8 processeurs et de 8 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 d'importer 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.
Pour mettre à niveau/à jour l'équilibreur de charge séparément, utilisez le même fichier de configuration que celui que vous comptez utiliser pour mettre à niveau le cluster.
Dans ce fichier de configuration, mettez à jour le champ bundlepath
et vérifiez que lbmode
est défini sur "Bundled"
.
Si vous souhaitez modifier les processeurs et la mémoire de vos VM Seesaw, spécifiez les valeurs des champs cpus
et memorymb
. Sinon, laissez ces champs vides.
Exemple :
lbmode: "Bundled" bundlepath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.3.2-gke.1-full.tgz" admincluster: loadbalancerconfig: cpus: 6 memorymb: 4096
Exécutez ensuite cette commande pour mettre à niveau votre équilibreur de charge :
gkectl upgrade loadbalancer --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] --config [CLUSTER_CONFIG] --name gke-admin
où :
[ADMIN_CLUSTER_KUBECONFIG] représente le fichier kubeconfig de votre cluster d'administrateur.
[CLUSTER_CONFIG] représente le fichier de configuration du cluster que vous comptez mettre à niveau.
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 exécuter la commande gkectl upgrade loadbalancer
ci-dessous pour mettre à jour certains paramètres.
Pour mettre à niveau/à jour l'équilibreur de charge séparément pour un cluster d'utilisateur, suivez la procédure ci-dessous pour mettre à niveau l'équilibreur de charge de votre cluster d'administrateur en apportant ces deux modifications :
Dans le fichier de configuration, vérifiez que
usercluster.clustername
est défini sur le nom du cluster que vous souhaitez mettre à jour. Exemple :lbmode: "Bundled" bundlepath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.3.2-gke.1-full.tgz" usercluster: clustername: "my-cluster" loadbalancerconfig: cpus: 6 memorymb: 4096
Dans la commande
gkectl upgrade loadbalancer
, définissez--name
sur le nom du cluster d'utilisateur.
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
.
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, ainsi que la VM qui représente le plan de contrôle :
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 Seesaw
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 objet Service
- VM de plan de contrôle et VM de sauvegarde
- Disponibilité
Vous pouvez utiliser toutes les solutions de surveillance et de tableau de bord de votre choix, à condition qu'elles soient compatibles avec le format Prometheus. Il vous est également possible d'utiliser les modules complémentaires Prometheus et Grafana intégrés à GKE On-Prem.
Utiliser les modules complémentaires Prometheus et Grafana intégrés
Activez Prometheus et Grafana pour votre cluster.
L'étape suivante consiste à créer un objet Service et un objet Endpoints afin que le module complémentaire Prometheus connaisse vos VM Seesaw.
Enregistrez la configuration suivante sous seesaw-metrics.yaml
. La configuration comprend un fichier manifeste Service et un fichier manifeste Endpoints :
apiVersion: v1 kind: Service metadata: name: seesaw-metrics annotations: monitoring.gke.io/scrape: 'true' monitoring.gke.io/scheme: 'https' monitoring.gke.io/tls_config: 'seesaw-ca' spec: type: ClusterIP clusterIP: "None" ports: - name: metrics port: 20257 protocol: TCP targetPort: 20257 --- kind: Endpoints apiVersion: v1 metadata: name: seesaw-metrics subsets: - addresses: - ip: [SEESAW_VM1_IP] - ip: [SEESAW_VM2_IP] ports: - name: metrics port: 20257
où :
- [SEESAW_VM1_IP] représente l'adresse IP de l'une de vos VM Seesaw.
- [SEESAW_VM2_IP] représente l'adresse IP de votre autre VM Seesaw.
Créez les objets Service et Endpoints :
kubectl --kubeconfig [CLUSTER_KUBECONFIG] apply seesaw-metrics.yaml
Vous pouvez maintenant créer des tableaux de bord et graphiques Grafana pour afficher les métriques.
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 Seesaw dans l'interface utilisateur vSphere.
Vous pouvez également supprimer les VM Seesaw et le fichier de groupe Seesaw en exécutant la commande suivante :
gkectl delete loadbalance --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.