Clústeres de VPC: ¿Por qué mi app no puede conectarse a través del equilibrador de carga?
Soluciona los problemas de conectividad del equilibrador de carga de VPC cuando no se pueda acceder a tu aplicación a través de un servicio de equilibrador de carga de VPC.
Proveedor de infraestructura: VPC
Ha expuesto su app creando un servicio de Kubernetes LoadBalancer en el clúster VPC. Cuando intenta conectarse a la app utilizando el nombre de host que se ha asignado a LoadBalancer de Kubernetes, la conexión falla o
se supera el tiempo de espera.
Cuando ejecuta oc describe svc <kubernetes_lb_service_name>, es posible que vea un mensaje de aviso similar a uno de los siguientes en la sección Sucesos:
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.
Cuando se crea un servicio LoadBalancer de Kubernetes en el clúster, se crea automáticamente un equilibrador de carga de VPC en la VPC. El equilibrador de carga de VPC direcciona las solicitudes solo a la app que expone el servicio
LoadBalancer de Kubernetes.
Las solicitudes no se pueden direccionar a la aplicación en las siguientes situaciones:
- Un grupo de seguridad de VPC está bloqueando el tráfico de entrada a los nodos trabajadores, incluidas las solicitudes de entrada de la app.
- El equilibrador de carga de VPC está fuera de línea, por ejemplo debido a errores de suministro del equilibrador de carga o a errores de conexión de VSI.
- El equilibrador de carga de VPC se suprime mediante la consola VPC o la CLI.
- La entrada de DNS del equilibrador de carga de VPC todavía se está registrando.
- Ha alcanzado el número máximo de equilibradores de carga de VPC permitidos por cuenta. Consulte las cuotas de recursos de VPC en la documentación de cuotas de VPC en todos los clústeres de VPC en la VPC.
Verifique que ningún grupo de seguridad de VPC esté bloqueando el tráfico en el clúster y que esté disponible el equilibrador de carga de VPC.
-
Verifique que existe el equilibrador de carga de VPC para el servicio
LoadBalancerde Kubernetes. En la salida, busque el equilibrador de carga de VPC con el formatokube-<cluster_ID>-<kubernetes_lb_service_UID>. Puede obtener el UID de servicio de KubernetesLoadBalancerejecutandooc get svc <service_name> -o yaml.ibmcloud is load-balancers- Si el equilibrador de carga de VPC no aparece en la lista, no existe por una de las siguientes razones:
- Ha alcanzado el número máximo de equilibradores de carga de VPC permitidos por cuenta. En todos los clústeres de VPC de la VPC, se puede crear un máximo de 20 equilibradores de carga VPC. Se crea un equilibrador de carga de VPC para cada
servicio
LoadBalancerde Kubernetes que se crea, y solo direcciona las solicitudes a dicho servicioLoadBalancerde Kubernetes. - El equilibrador de carga de VPC se ha suprimido a través de la consola de VPC o de la CLI. Para volver a crear el equilibrador de carga de VPC para el servicio de
LoadBalancerde Kubernetes, reinicie el nodo maestro de Kubernetes ejecutandoibmcloud oc cluster master refresh --cluster <cluster_name_or_id>.
Si desea eliminar la configuración de equilibrio de carga para una aplicación en el clúster de VPC, suprima el servicio de
LoadBalancerde Kubernetes ejecutandooc delete svc <kubernetes_lb_service_name>. El equilibrador de carga de VPC asociado con el servicioLoadBalancerde Kubernetes se suprime automáticamente de la VPC. -
Si el equilibrador de carga existe, vea los grupos de seguridad de VPC que están conectados a él. Si ha realizado modificaciones en el grupo de seguridad de
kube-lbaas-<cluster-id>, que se conecta automáticamente al equilibrador de carga, establezca las reglas originales en el grupo de seguridad.- Si se lista el equilibrador de carga de VPC y no ha modificado ningún grupo de seguridad conectado, es posible que no responda por las razones siguientes:
- Es posible que su entrada de DNS siga registrándose. Cuando se crea un equilibrador de carga de VPC, el nombre de host se registra a través de un DNS público. A veces, esta entrada de DNS puede tardar varios minutos en replicarse en
el DNS específico que está utilizando el cliente. Puede esperar a que se registre el nombre de host en el DNS o bien puede acceder al equilibrador de carga de VPC directamente utilizando una de sus direcciones IP. Para buscar las direcciones
IP del equilibrador de carga de VPC, ejecute
ibmcloud is lb <LB_ID>y busque el campo IP públicas. - Si después de varios minutos no puede alcanzar el equilibrador de carga, puede que esté fuera de línea debido a problemas de suministro o conexión. Abra un caso de soporte de IBM Cloud. Para el tipo, seleccione Técnico. Para la categoría, seleccione Red en la sección VPC. En la descripción, incluya el ID del clúster y el ID del equilibrador de carga de VPC.
- Es posible que su entrada de DNS siga registrándose. Cuando se crea un equilibrador de carga de VPC, el nombre de host se registra a través de un DNS público. A veces, esta entrada de DNS puede tardar varios minutos en replicarse en
el DNS específico que está utilizando el cliente. Puede esperar a que se registre el nombre de host en el DNS o bien puede acceder al equilibrador de carga de VPC directamente utilizando una de sus direcciones IP. Para buscar las direcciones
IP del equilibrador de carga de VPC, ejecute
- Si se lista el equilibrador de carga de VPC y no ha modificado ningún grupo de seguridad conectado, es posible que no responda por las razones siguientes: