Clusters da VPC: por que meu app não pode se conectar através do balanceador de carga?
Resolva problemas de conectividade do balanceador de carga da VPC quando não for possível acessar seu aplicativo por meio de um serviço de balanceador de carga da VPC.
Provedor de infraestrutura: VPC
Você expôs seu app criando um serviço LoadBalancer do Kubernetes em seu cluster VPC. Ao tentar se conectar ao seu app usando o nome do host designado ao LoadBalancer do Kubernetes, a conexão falha ou atinge o tempo limite.
Ao executar oc describe svc <kubernetes_lb_service_name>, você pode ver uma mensagem de aviso semelhante a uma das seguintes na seção Eventos:
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.
Ao criar um serviço LoadBalancer do Kubernetes no cluster, um balanceador de carga VPC é criado automaticamente na VPC. O balanceador de carga do VPC roteia solicitações apenas para o app que o serviço LoadBalancer do
Kubernetes expõe.
As solicitações não podem ser roteadas para o app nas situações a seguir:
- Um grupo de segurança VPC está bloqueando o tráfego de entrada para seus nós do trabalhador, incluindo as solicitações recebidas para o seu app.
- O balanceador de carga VPC está off-line, por exemplo, devido a erros de fornecimento do balanceador de carga ou erros de conexão do VSI.
- O balanceador de carga VPC é excluído por meio do console ou da CLI da VPC.
- A entrada DNS do balanceador de carga VPC ainda está sendo registrada.
- Você atingiu o número máximo de balanceadores de carga do VPC permitidos por conta. Verifique a Documentação de cotas da VPC para cotas de recursos da VPC em todos os clusters na VPC.
Verifique se nenhum grupo de segurança do VPC está bloqueando o tráfego para o seu cluster e se o balanceador de carga do VPC está disponível.
-
Verifique se o balanceador de carga do VPC existe para o serviço
LoadBalancerdo Kubernetes. Na saída, procure o balanceador de carga da VPC que está formatadokube-<cluster_ID>-<kubernetes_lb_service_UID>. É possível obter o UID de serviçoLoadBalancerdo Kubernetes executandooc get svc <service_name> -o yaml.ibmcloud is load-balancers- Se o balanceador de carga do VPC não estiver listado, ele não existirá por um dos motivos a seguir:
- Você atingiu o número máximo de balanceadores de carga do VPC permitidos por conta. Em todos os clusters de VPC na VPC, podem ser criados no máximo 20 balanceadores de carga de VPC. Um balanceador de carga do VPC é criado para cada serviço
LoadBalancerdo Kubernetes criado e roteia solicitações somente para o serviçoLoadBalancerdo Kubernetes. - O balanceador de carga do VPC foi excluído por meio do console do VPC ou da CLI. Para recriar o balanceador de carga de VPC para o serviço
LoadBalancerdo Kubernetes, reinicie o principal do Kubernetes executandoibmcloud oc cluster master refresh --cluster <cluster_name_or_id>.
Para remover a configuração de balanceamento de carga para um app no cluster de VPC, exclua o serviço
LoadBalancerdo Kubernetes executandooc delete svc <kubernetes_lb_service_name>. O balanceador de carga do VPC associado ao serviçoLoadBalancerdo Kubernetes é excluído automaticamente de seu VPC. -
Se o balanceador de carga existir, visualize os grupos de segurança de VPC que estão anexados a ele. Se você tiver feito alguma modificação no grupo de segurança
kube-lbaas-<cluster-id>, que é anexado automaticamente ao balanceador de carga, configure as regras originais de volta no grupo de segurança.- Se o balanceador de carga de VPC estiver listado e você não tiver modificado nenhum grupo de segurança anexado, ele pode não ser responsivo pelas razões a seguir:
- Sua entrada de DNS ainda pode estar registrando. Quando um balanceador de carga VPC é criado, o nome do host é registrado por meio de um DNS público. Às vezes, pode levar vários minutos para que essa entrada de DNS seja replicada para
o DNS específico que o cliente está usando. É possível aguardar que o nome do host seja registrado em seu DNS ou acessar o balanceador de carga VPC diretamente usando um de seus endereços IP. Para localizar os endereços IP do balanceador
de carga da VPC, execute
ibmcloud is lb <LB_ID>e procure o campo IPs públicos. - Se depois de vários minutos você não conseguir acessar o balanceador de carga, ele poderá estar off-line por problemas de fornecimento ou de conexão. Abra um caso de suporte da IBM Cloud. Para o tipo, selecione Técnico. Para a categoria, selecione Rede na seção VPC. Na descrição, inclua o ID do cluster e o ID do balanceador de carga VPC.
- Sua entrada de DNS ainda pode estar registrando. Quando um balanceador de carga VPC é criado, o nome do host é registrado por meio de um DNS público. Às vezes, pode levar vários minutos para que essa entrada de DNS seja replicada para
o DNS específico que o cliente está usando. É possível aguardar que o nome do host seja registrado em seu DNS ou acessar o balanceador de carga VPC diretamente usando um de seus endereços IP. Para localizar os endereços IP do balanceador
de carga da VPC, execute
- Se o balanceador de carga de VPC estiver listado e você não tiver modificado nenhum grupo de segurança anexado, ele pode não ser responsivo pelas razões a seguir: