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.

  1. Verifica che il programma di bilanciamento del carico VPC per il servizio LoadBalancer Kubernetes esista. Nell'output, individua il bilanciatore di carico VPC con il formato kube-<cluster_ID>-<kubernetes_lb_service_UID>. È possibile ottenere l'UID del servizio " Kubernetes " ( LoadBalancer ) eseguendo il comando oc 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 LoadBalancer Kubernetes che crei e instrada le richieste solo al servizio LoadBalancer Kubernetes.
    • 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 comando ibmcloud 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 LoadBalancer eseguendo il comando oc delete svc <kubernetes_lb_service_name>. Il programma di bilanciamento del carico VPC associato al servizio LoadBalancer Kubernetes viene automaticamente eliminato dal tuo VPC.

  2. 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.