Cluster VPC: perché la mia applicazione non può connettersi tramite il programma di bilanciamento del carico?
Risolvi i problemi di connettività del bilanciatore di carico VPC quando non è possibile accedere alla tua app tramite un servizio di bilanciatore di carico VPC.
Provider infrastruttura: VPC
Hai reso accessibile la tua app creando un servizio Kubernetes LoadBalancer nel tuo cluster VPC. Quando tenti di connetterti alla tua applicazione utilizzando il nome host assegnato al LoadBalancer Kubernetes, la connessione
non riesce o va in timeout.
Quando si esegue il comando oc describe svc <kubernetes_lb_service_name>``, nella sezione "Eventi" potrebbe comparire un messaggio di avviso simile a uno dei seguenti:
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.
Quando crei un servizio LoadBalancer Kubernetes nel tuo cluster, un programma di bilanciamento del carico VPC viene automaticamente creato nel tuo VPC. Il programma di bilanciamento del carico VPC instrada le richieste solo all'applicazione
esposta dal servizio LoadBalancer Kubernetes.
Le richieste non possono essere inoltrate alla tua app nelle seguenti situazioni:
- Un gruppo di sicurezza VPC sta bloccando il traffico in entrata verso i tuoi nodi di lavoro, incluse le richieste in entrata alla tua applicazione.
- Il programma di bilanciamento del carico VPC è offline, ad esempio a causa di errori nel suo provisioning o di connessione VSI.
- Il programma di bilanciamento del carico VPC è stato eliminato tramite la CLI o la console VPC.
- La voce DNS del programma di bilanciamento del carico VPC è ancora in fase di registrazione.
- Hai raggiunto il numero massimo di programmi di bilanciamento del carico VPC consentiti per ogni account. Controlla la documentazione delle quote VPC per le quote di risorse VPC in tutti i tuoi cluster VPC nel tuo VPC.
Verifica che nessun gruppo di sicurezza VPC stia bloccando il traffico verso il tuo cluster e che il programma di bilanciamento del carico VPC sia disponibile.
-
Verifica che il programma di bilanciamento del carico VPC per il servizio
LoadBalancerKubernetes esista. Nell'output, individua il bilanciatore di carico VPC con il formatokube-<cluster_ID>-<kubernetes_lb_service_UID>. È possibile ottenere l'UID del servizio " Kubernetes " (LoadBalancer) eseguendo il comandooc get svc <service_name> -o yaml.ibmcloud is load-balancers- Se il programma di bilanciamento del carico VPC non viene elencato, significa che non esiste per uno dei seguenti motivi:
- Hai raggiunto il numero massimo di programmi di bilanciamento del carico VPC consentiti per ogni account. In tutti i cluster VPC presenti nella propria VPC è possibile creare un massimo di 20 bilanciatori di carico VPC. Un programma di bilanciamento
del carico VPC viene creato per ogni servizio
LoadBalancerKubernetes che crei e instrada le richieste solo al servizioLoadBalancerKubernetes. - Il programma di bilanciamento del carico VPC è stato eliminato tramite la console VPC o la CLI. Per ricreare il bilanciatore di carico VPC per il servizio Kubernetes
LoadBalancer, riavvia il master Kubernetes eseguendo il comandoibmcloud oc cluster master refresh --cluster <cluster_name_or_id>.
Se desideri rimuovere la configurazione del bilanciamento del carico per un'applicazione nel tuo cluster VPC, elimina il servizio Kubernetes
LoadBalancereseguendo il comandooc delete svc <kubernetes_lb_service_name>. Il programma di bilanciamento del carico VPC associato al servizioLoadBalancerKubernetes viene automaticamente eliminato dal tuo VPC. -
Se il programma di bilanciamento del carico esiste, visualizza i gruppi di sicurezza VPC ad esso collegati. Se hai apportato delle modifiche al gruppo di sicurezza
kube-lbaas-<cluster-id>, che viene automaticamente collegato al programma di bilanciamento del carico, imposta nuovamente le regole originali nel gruppo di sicurezza.- Se il programma di bilanciamento del carico VPC è elencato e non hai modificato alcun gruppo di sicurezza collegato, potrebbe non essere reattivo per i seguenti motivi:
- La sua voce DNS potrebbe essere ancora in fase di registrazione. Quando un programma di bilanciamento del carico VPC viene creato, il nome host viene registrato tramite un DNS pubblico. A volte possono essere necessari diversi minuti
prima che questa voce DNS venga replicata sul server DNS specifico utilizzato dal cliente. Puoi attendere che il nome host venga registrato nel tuo DNS oppure accedere al programma di bilanciamento del carico VPC direttamente utilizzando
uno dei suoi indirizzi IP. Per trovare gli indirizzi IP del programma di bilanciamento del carico VPC, esegui
ibmcloud is lb <LB_ID>e cerca il campo IP pubblici. - Se dopo alcuni minuti non riesci a raggiungere il bilanciatore di carico, è possibile che sia offline a causa di problemi di configurazione o di connessione. Apri un caso di supporto IBM Cloud. Per il tipo, seleziona Tecnico. Per la categoria, seleziona Rete nella sezione VPC. Nella descrizione, includi il tuo ID cluster e l'ID del programma di bilanciamento del carico VPC.
- La sua voce DNS potrebbe essere ancora in fase di registrazione. Quando un programma di bilanciamento del carico VPC viene creato, il nome host viene registrato tramite un DNS pubblico. A volte possono essere necessari diversi minuti
prima che questa voce DNS venga replicata sul server DNS specifico utilizzato dal cliente. Puoi attendere che il nome host venga registrato nel tuo DNS oppure accedere al programma di bilanciamento del carico VPC direttamente utilizzando
uno dei suoi indirizzi IP. Per trovare gli indirizzi IP del programma di bilanciamento del carico VPC, esegui
- Se il programma di bilanciamento del carico VPC è elencato e non hai modificato alcun gruppo di sicurezza collegato, potrebbe non essere reattivo per i seguenti motivi: