Clusters VPC : pourquoi mon application ne peut-elle pas se connecter via l'équilibreur de charge ?
Dépannage des problèmes de connectivité du répartiteur de charge VPC lorsque votre application n'est pas accessible via un service de répartiteur de charge VPC.
Fournisseur d'infrastructure: VPC
Vous avez exposé votre application en créant un service Kubernetes LoadBalancer dans votre cluster VPC. Lorsque vous tentez de vous connecter à votre application en utilisant le nom d'hôte affecté au service LoadBalancer Kubernetes, la connexion échoue ou expire.
Lorsque vous exécutez oc describe svc <kubernetes_lb_service_name>, vous pouvez voir un message d'avertissement similaire à l'un des messages suivants dans la section Événements :
The VPC load balancer that routes requests to this Kubernetes `LoadBalancer` service is offline.
The VPC load balancer that routes requests to this Kubernetes `LoadBalancer` service was deleted from your VPC.
Lorsque vous créez un service Kubernetes LoadBalancer dans votre cluster, un équilibreur de charge VPC est automatiquement créé dans votre VPC. L'équilibreur de charge VPC achemine uniquement les demandes vers les applications qui
sont exposées par le service LoadBalancer de Kubernetes.
Les demandes ne peuvent pas être acheminées vers votre application dans les situations suivantes :
- Un groupe de sécurité VPC bloque le trafic entrant vers vos noeuds worker, y compris les demandes entrantes vers votre application.
- L'équilibreur de charge VPC est hors ligne, par exemple en raison d'erreurs de mise à disposition de l'équilibreur de charge ou d'erreurs de connexion VSI.
- L'équilibreur de charge VPC est supprimé via la console VPC ou l'interface de ligne de commande.
- L'entrée DNS de l'équilibreur de charge VPC est toujours en cours d'enregistrement.
- Vous avez atteint le nombre maximal d'équilibreurs de charge VPC autorisés par compte. Vérifiez les quotas de ressources Documentation des quotas VPC for VPC sur tous les clusters VPC de votre PC.
Vérifiez qu'aucun groupe de sécurité VPC ne bloque le trafic envoyé à votre cluster et que l'équilibreur de charge VPC est disponible.
-
Vérifiez que l'équilibreur de charge VPC pour le service Kubernetes
LoadBalancerexiste. Dans la sortie, recherchez l'équilibreur de charge VPC qui est formatékube-<cluster_ID>-<kubernetes_lb_service_UID>. Vous pouvez obtenir l'ID utilisateur du serviceLoadBalancerKubernetes en exécutantoc get svc <service_name> -o yaml.ibmcloud is load-balancers- Si l'équilibreur de charge VPC n'est pas répertorié, il n'existe pas pour l'une des raisons suivantes :
- Vous avez atteint le nombre maximal d'équilibreurs de charge VPC autorisés par compte. Sur tous vos clusters VPC dans votre VPC, un maximum de 20 équilibreurs de charge VPC peuvent être créés. Un équilibreur de charge VPC est créé pour chaque
service Kubernetes
LoadBalancerque vous créez et il achemine les demandes uniquement vers ce service KubernetesLoadBalancer. - L'équilibreur de charge VPC a été supprimé via la console VPC ou l'interface de ligne de commande. Pour recréer l'équilibreur de charge VPC pour votre service
LoadBalancerKubernetes, redémarrez le maître Kubernetes en exécutantibmcloud oc cluster master refresh --cluster <cluster_name_or_id>.
Si vous souhaitez supprimer la configuration de l'équilibrage de charge pour une application de votre cluster VPC, supprimez le service
LoadBalancerKubernetes en exécutantoc delete svc <kubernetes_lb_service_name>. L'équilibreur de charge VPC qui est associé au service KubernetesLoadBalancerest automatiquement supprimé de votre VPC. -
Si l'équilibreur de charge existe, affichez les groupes de sécurité VPC qui y sont associés. Si vous avez apporté des modifications au groupe de sécurité
kube-lbaas-<cluster-id>, qui est automatiquement connecté à l'équilibreur de charge, définissez les règles d'origine dans le groupe de sécurité.- Si l'équilibreur de charge VPC est répertorié et que vous n'avez pas modifié les groupes de sécurité associés, il peut ne pas être réactivé pour les raisons suivantes :
- Son entrée DNS est peut-être toujours en cours d'enregistrement. Lorsqu'un équilibreur de charge VPC est créé, le nom d'hôte est enregistré via un DNS public. Parfois, il peut prendre plusieurs minutes pour que cette entrée DNS soit
répliquée sur le DNS spécifique que votre client utilise. Vous pouvez attendre que le nom d'hôte soit enregistré dans votre DNS ou accéder à l'équilibreur de charge VPC directement à l'aide de l'une de ses adresses IP. Pour rechercher
les adresses IP de l'équilibreur de charge VPC, exécutez
ibmcloud is lb <LB_ID>et recherchez la zone IP publics - Si, après plusieurs minutes, vous ne pouvez pas accéder à l'équilibreur de charge, il peut être hors ligne en raison de problèmes d'approvisionnement ou de connexion. Ouvrez un cas de support IBM Cloud. Pour le type, sélectionnez Technical. Pour la catégorie, sélectionnez Network dans la section VPC. Dans la description, incluez votre ID de cluster et l'ID d'équilibreur de charge VPC.
- Son entrée DNS est peut-être toujours en cours d'enregistrement. Lorsqu'un équilibreur de charge VPC est créé, le nom d'hôte est enregistré via un DNS public. Parfois, il peut prendre plusieurs minutes pour que cette entrée DNS soit
répliquée sur le DNS spécifique que votre client utilise. Vous pouvez attendre que le nom d'hôte soit enregistré dans votre DNS ou accéder à l'équilibreur de charge VPC directement à l'aide de l'une de ses adresses IP. Pour rechercher
les adresses IP de l'équilibreur de charge VPC, exécutez
- Si l'équilibreur de charge VPC est répertorié et que vous n'avez pas modifié les groupes de sécurité associés, il peut ne pas être réactivé pour les raisons suivantes :