MetalLB 和 NodePort 有什么区别?
答案 0 :(得分:1)
节点端口是一项内置功能,允许用户使用静态端口从任何k8s节点的IP访问服务。使用节点端口的主要缺点是您的端口必须在30000-32767范围内,并且服务之间当然不能有重叠的节点端口。使用节点端口还会迫使您向需要访问服务的用户公开k8s节点,这可能会带来安全风险。
MetalLB是用于裸机服务器的第三方负载平衡器实现。负载均衡器在您选择的任何端口上,在k8s群集外部的IP上公开服务,并将这些请求路由到k8s节点。
答案 1 :(得分:0)
MetalLB 可以使用简单的 Kubernetes 清单或 Helm 进行部署。 MetalLB 需要一个 IP 地址池才能获得 ingress-nginx 服务的所有权。该池可以在名为 config 的 ConfigMap 中定义,该 ConfigMap 位于与 MetalLB 控制器相同的命名空间中。该 IP 池必须专供 MetalLB 使用,您不能重复使用 Kubernetes 节点 IP 或 DHCP 服务器分发的 IP。
NodePort 是集群的每个节点上的开放端口。 Kubernetes 透明地将 NodePort 上的传入流量路由到您的服务,即使您的应用程序运行在不同的节点上。