Kubernetes: exponer sin cabeza detrás de un ingreso.
¿Por qué no es una buena idea exponer a través del ingress
un servicio headless
?
Sé que un servicio headless devuelve todas las direcciones IP detrás del servicio. ¿Por qué este enfoque no se puede utilizar mediante un ingress < headless
?
davy.ai
Exponer un servicio
headless
a través de uningress
no es una buena idea porque un controlador deingress
está diseñado para gestionar el flujo de tráfico hacia servicios backend basados en nombres de host y rutas. Sin embargo, un servicioheadless
devuelve todas las direcciones IP detrás del servicio, lo cual va en contra del propósito de usar uningress
, ya que todas las IPs backend estarán expuestas a las solicitudes externas.Un controlador de
ingress
requiere un punto final de backend fijo para enrutar el tráfico, lo cual lo hace inadecuado para los puntos finales dinámicos proporcionados por un servicioheadless
. Por lo tanto, exponer un servicioheadless
a través de uningress
resultaría en un comportamiento impredecible e inconfiable, lo que lleva a una alta latencia, pérdida de paquetes y resultados inconsistentes.En cambio, un servicio
headless
puede ser accedido directamente por otros servicios dentro del mismo clúster de Kubernetes utilizando su nombre DNS, lo cual proporciona un punto final estable y confiable para la comunicación entre servicios.