nodeport - kubernetes service load balancer
Kubernetes: diferencia entre NodePort y LoadBalancer (1)
Nada le impide colocar un equilibrador de carga externo delante de sus nodos y utilizar la opción NodePort.
La opción LoadBalancer solo se usa para solicitar adicionalmente a su proveedor de nube una nueva instancia de LB de software, automáticamente en segundo plano.
Todavía no estoy actualizado sobre qué proveedores de nube son compatibles, pero vi que ya funcionaba para Compute Engine y OpenStack.
Acabo de comenzar con Kubernetes y estoy confundido acerca de la diferencia entre el tipo de servicio NodePort y LoadBalancer.
La diferencia que entiendo es que LoadBalancer no es compatible con UDP pero, aparte de eso, cada vez que creamos un servicio, ya sea nodeport o loadbalancer, obtenemos una IP y un puerto de servicio, un NodePort y puntos finales.
De los documentos de Kubernetes:
NodePort: además de tener una IP interna del clúster, exponga el servicio en un puerto en cada nodo del clúster (el mismo puerto en cada nodo). Podrá ponerse en contacto con el servicio en cualquier dirección de NodeIP: NodePort .
LoadBalancer: además de tener un IP interno de clúster y un servicio de exposición en un NodePort, solicite al proveedor de la nube un equilibrador de carga que reenvíe al Servicio expuesto como un NodeIP: NodePort para cada Nodo.
Por lo tanto, siempre tendré acceso al servicio en nodeip: nodeport. Según entiendo, cuando accedemos al nodo: nodeport, el kubeproxy interceptará la solicitud y la reenviará al pod respectivo.
La otra cosa mencionada sobre LoadBalancer es que podemos tener un LB externo que será LB entre los Nodos. ¿Qué nos impide poner un LB para servicios creados como nodos?
Estoy realmente confundido. La mayoría de los documentos o tutoriales hablan solo sobre el servicio de LoadBalancer, por lo que no pude encontrar mucho en Internet.
Aprecio si alguien puede despejar mis dudas.
Gracias