Could not obtain a bind address for the API Server: no default routes found in “/proc/net/route” or “/proc/net/ipv6_route”; using: 0.0.0.0
Este problema lo tuve recientemente, aunque ya me había pasado antes no lo recordaba porque no había dormido mucho, pero estando en el aeropuerto me quedé viendo el error, el error me vió a mi y pum! Me acorde, jajaja.
Entonces decidí hacer este post, super informal como nota para mi misma y tambié para ayudar a quien le pase y no haya dormido mucho y este sufriendo.
Contexto
Me encontraba instalando un cluster SUSE CaaS Platform ( kubernetes) y justo cuando trataba de lanzar el control plane, llegaba a el error del titulo, lo que dice es claro pero a veces puede que no te haga sentido sobre todo porque es un problema que solo se presenta cuando no está la ruta default y eso es poco común en un día a día.
Solución
Agregar la ruta default :D ya sé que deben estar pensando “No me digas” jajaja pero así es, por ejemplo.
# ip route add default via 192.168.1.254
o
# route add default gw 192.168.1.254
Y reiniciar network.
Ahora, esto es algo que puedes hacer cuando sabes que debe ir en la ruta default, a veces puede que no tengas ese dato entonces te recomiendo preguntar antes de agregarlo, en mi caso por ejemplo la ip era la .1 de mi segmento de red, ya que sé que con mis compañeros tenemos ese estandar para el gw, la .1 del segmento siempre será el gw pero no siempre es así.
Conclusión
Este problema también se puede presentar post instalación, me pasó con OpenShift y en realidad pasará con todo lo basado en kubernetes porque kubernetes trabaja con la ruta default para hacer el init de un cluster y también su cidr que usaran los pods.
Nota importante: En la teoría tu red debería inyectar el default gateway si no lo está haciendo seguramente se encuentra mal configurada o bien es una especificación por ser provider network , o algo así, mi recomendación es que lo revises con tu equipo para que la solución que den sea fija y definitiva.
Los quiero, bye.
Saludos :D