VPC-Cluster: Warum kann meine App keine Verbindung über die Lastausgleichsfunktion herstellen?
Beheben Sie Verbindungsprobleme mit dem VPC-Load-Balancer, wenn Ihre Anwendung über einen VPC-Load-Balancer-Dienst nicht erreichbar ist.
Infrastrukturanbieter: VPC
Sie haben Ihre App zugänglich gemacht, indem Sie einen Kubernetes Service vom Typ LoadBalancer (Lastausgleich) in Ihrem VPC-Cluster erstellt haben. Wenn Sie versuchen, eine Verbindung zu Ihrer App unter Verwendung des Hostnamens herzustellen,
der dem Kubernetes Service vom Typ LoadBalancer zugeordnet ist, schlägt die Verbindung fehl oder überschreitet das zulässige Zeitlimit.
Wenn Sie oc describe svc <kubernetes_lb_service_name> ausführen, wird möglicherweise eine Warnung ähnlich der folgenden im Abschnitt Ereignisse angezeigt:
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.
Wenn Sie einen Kubernetes Service vom Typ LoadBalancer in Ihrem Cluster erstellen, wird die VPC-Lastausgleichsfunktion automatisch in Ihrer VPC erstellt. Die VPC-Lastausgleichsfunktion leitet Anforderungen nur an die App weiter, die
vom Kubernetes Service LoadBalancer zugänglich gemacht wird.
Anforderungen können in den folgenden Situationen nicht an Ihre App weitergeleitet werden:
- Eine VPC-Sicherheitsgruppe blockiert eingehenden Datenverkehr zu Ihren Workerknoten, einschließlich eingehender Anforderungen an Ihre App.
- Die VPC-Lastausgleichsfunktion ist offline, zum Beispiel wegen Bereitstellungsfehlern der Lastausgleichsfunktion oder Verbindungsfehlern für virtuelle Serverinstanzen (VSI).
- Die VPC-Lastausgleichsfunktion wurde über die VPC-Konsole oder die CLI gelöscht.
- Der DNS-Eintrag der VPC-Lastausgleichsfunktion wird noch immer registriert.
- Sie haben die maximale Anzahl an VPC-Lastausgleichsfunktionen erreicht, die pro Konto zulässig ist. Überprüfen Sie die Dokumentation zu VPC-Kontingenten auf VPC-Ressourcenkontingente in allen VPC-Clustern in Ihrer VPC.
Stellen Sie sicher, dass keine VPC-Sicherheitsgruppen Datenverkehr zu Ihrem Cluster blockieren und dass die VPC-Lastausgleichsfunktion verfügbar ist.
-
Überprüfen Sie, ob die VPC-Lastausgleichsfunktion für den Kubernetes Service
LoadBalancervorhanden ist. Suchen Sie in der Ausgabe nach der VPC-Lastausgleichsfunktion im Formatkube-<cluster_ID>-<kubernetes_lb_service_UID>. Sie können die KubernetesLoadBalancer-Service-UID abrufen, indem Sieoc get svc <service_name> -o yamlausführen.ibmcloud is load-balancers- Wenn die VPC-Lastausgleichsfunktion nicht aufgelistet wird, dann ist sie aus einem der folgenden Gründe nicht vorhanden:
- Sie haben die maximale Anzahl an VPC-Lastausgleichsfunktionen erreicht, die pro Konto zulässig ist. In allen VPC-Clustern in Ihrer VPC können maximal 20 VPC-Lastausgleichsfunktionen erstellt werden. Für jeden Kubernetes Service vom Typ
LoadBalancer, den Sie erstellen, wird genau eine VPC-Lastausgleichsfunktion erstellt und diese leitet Anforderungen nur an diesen Kubernetes Service vom TypLoadBalancerweiter. - Die VPC-Lastausgleichsfunktion wurde über die VPC-Konsole oder die CLI gelöscht. Um die VPC-Lastausgleichsfunktion für Ihren Kubernetes
LoadBalancer-Service erneut zu erstellen, starten Sie den Kubernetes-Master erneut, indem Sieibmcloud oc cluster master refresh --cluster <cluster_name_or_id>ausführen.
Wenn Sie die Konfiguration der Lastausgleichsfunktion für eine App in Ihrem VPC-Cluster entfernen wollen, löschen Sie den Kubernetes
LoadBalancer-Service, indem Sieoc delete svc <kubernetes_lb_service_name>ausführen. Die VPC-Lastausgleichsfunktion, die dem Kubernetes Service vom TypLoadBalancerzugeordnet ist, wird automatisch aus Ihrer VPC gelöscht. -
Wenn die Lastausgleichsfunktion vorhanden ist, VPC-Sicherheitsgruppen anzeigen, die ihm zugeordnet sind. Wenn Sie Änderungen an der Sicherheitsgruppe
kube-lbaas-<cluster-id>vorgenommen haben, die automatisch der Lastausgleichsfunktion zugeordnet wird, legen Sie die ursprünglichen Regeln wieder in der Sicherheitsgruppe fest.- Wenn die VPC-Lastausgleichsfunktion aufgeführt wird und Sie keine zugeordneten Sicherheitsgruppen modifiziert haben, reagiert sie möglicherweise aus den folgenden Gründen nicht:
- Der zugehörige DNS-Eintrag wird möglicherweise noch registriert. Wenn eine VPC-Lastausgleichsfunktion erstellt wurde, wird der Hostname durch ein öffentliches DNS registriert. Manchmal kann es einige Minuten dauern, bis dieser DNS-Eintrag
in das von Ihrem Client verwendete bestimmte DNS repliziert wird. Sie können entweder warten, bis der Hostname in Ihrem DNS registriert wurde, oder direkt auf die VPC-Lastausgleichsfunktion über eine ihrer IP-Adressen zugreifen. Um
die IP-Adressen der VPC-Lastausgleichsfunktion zu finden, führen Sie
ibmcloud is lb <LB_ID>aus und suchen Sie nach dem Feld Öffentliche IPs. - Wenn Sie die Lastausgleichsfunktion nach einigen Minuten nicht erreichen können, ist sie möglicherweise aufgrund von Bereitstellungs- oder Verbindungsproblemen offline. Öffnen Sie einen IBM Cloud-Supportfall. Wählen Sie für den Typ die Option Technisch aus. Wählen Sie für die Kategorie die Option Netz im VPC-Abschnitt aus. Geben Sie in der Beschreibung Ihre Cluster-ID und die ID der VPC-Lastausgleichsfunktion an.
- Der zugehörige DNS-Eintrag wird möglicherweise noch registriert. Wenn eine VPC-Lastausgleichsfunktion erstellt wurde, wird der Hostname durch ein öffentliches DNS registriert. Manchmal kann es einige Minuten dauern, bis dieser DNS-Eintrag
in das von Ihrem Client verwendete bestimmte DNS repliziert wird. Sie können entweder warten, bis der Hostname in Ihrem DNS registriert wurde, oder direkt auf die VPC-Lastausgleichsfunktion über eine ihrer IP-Adressen zugreifen. Um
die IP-Adressen der VPC-Lastausgleichsfunktion zu finden, führen Sie
- Wenn die VPC-Lastausgleichsfunktion aufgeführt wird und Sie keine zugeordneten Sicherheitsgruppen modifiziert haben, reagiert sie möglicherweise aus den folgenden Gründen nicht: