Watch at EaseHistorias. Respuestas. Perspectiva.

Tecnología · GUÍA PRÁCTICA

¿kubectl port-forward dice “connection refused”? Audite cuatro saltos antes de reintentar

Separe el listener local, el túnel API, el Pod elegido y el proceso dentro del Pod; el primer salto fallido determina la reparación.

Ilustración original: auditoría de bind local, túnel API, Pod elegido y listener remoto.
Ilustración original: auditoría de bind local, túnel API, Pod elegido y listener remoto. Watch at Ease

Una conexión rechazada no es un único fallo: puede fallar el socket local, el stream API, un Pod que reinicia o el listener del puerto remoto dentro del Pod.

Conserve el comando y el primer error y audite los cuatro saltos. --address 0.0.0.0 solo amplía el listener local, puede exponerlo y no crea un listener en el Pod.

Conserve el comando y el primer fallo

Registre contexto, namespace, target, mapping, versión y toda salida anterior al primer rechazo.

Un bind local fallido exige otro puerto; forbidden o stream error exige revisar RBAC antes del workload.

Demuestre el Pod elegido

Guarde nombre, UID, nodo, inicio, readiness, reinicios y deletion timestamp del Pod.

Un rollout puede terminarlo tras la línea Forwarding; diagnostique con un Pod Running y Ready explícito.

Resuelva el puerto remoto

Compare Service port, targetPort y configuración real del Pod. Service 80 puede apuntar a Pod 8080.

Selector y EndpointSlice explican elegibilidad, pero no prueban que exista listener.

Verifique el listener dentro del Pod

Use un método de solo lectura aprobado para ver sockets TCP, proceso, protocolo y puerto en el namespace compartido.

Si no hay listener, corrija configuración o arranque. --address local no repara el rechazo remoto.

Reintente una vez

Cree un forward nuevo al Pod explícito, haga una petición con el protocolo correcto y confirme el mismo UID.

Termine solo cuando listener local, API stream, Pod y proceso remoto estén probados a la vez.

Ilustración original: el lugar del error decide si revisar puerto, permisos, Pod o listener.
Ilustración original: el lugar del error decide si revisar puerto, permisos, Pod o listener. Watch at Ease