我在阅读《kubernetes in action》一书,其中提到“云提供商(例如GKE中)上的Ingress控制器要求Ingress指向NodePort服务”。由于Ingress控制器从服务本身获取Pod IP并将请求直接路由到IP和端口,为什么它需要NodePort服务?Node的IP和端口(由NodePort服务提供)用于什么?
NodePort
ltqd579y1#
入口控制器通常用于将流量从群集外部路由到群集内部的服务。NodePort是群集中每个节点上的开放端口。Kubernetes透明地将NodePort上的传入流量路由到您的服务,即使您的应用程序运行在不同的节点上。NodePort通过ingress将应用暴露在您的每个节点上的端口上。ingress中的NodePort Service是为了让外部用户可以在不进入集群的情况下访问内部Pod。请按此doc了解更多信息。
zaqlnxep2#
具有NodePort的入口控制器将以与通过NodePort服务公开的POD/部署相同的方式工作。入口控制器通常处理来自用户的所有请求,并根据规则将这些请求路由到集群内的不同Pod服务。如果没有入口控制器,您必须通过多个NodePort将所有POD服务直接公开给用户。关于您的问题“节点的IP和端口(由NodePort服务提供)用于什么?”“
希望这能回答你的问题,或者你可以再问一遍你不明白的部分。
2条答案
按热度按时间ltqd579y1#
入口控制器通常用于将流量从群集外部路由到群集内部的服务。NodePort是群集中每个节点上的开放端口。Kubernetes透明地将NodePort上的传入流量路由到您的服务,即使您的应用程序运行在不同的节点上。
NodePort通过ingress将应用暴露在您的每个节点上的端口上。ingress中的NodePort Service是为了让外部用户可以在不进入集群的情况下访问内部Pod。
请按此doc了解更多信息。
zaqlnxep2#
具有NodePort的入口控制器将以与通过NodePort服务公开的POD/部署相同的方式工作。入口控制器通常处理来自用户的所有请求,并根据规则将这些请求路由到集群内的不同Pod服务。如果没有入口控制器,您必须通过多个NodePort将所有POD服务直接公开给用户。
关于您的问题“节点的IP和端口(由NodePort服务提供)用于什么?”“
希望这能回答你的问题,或者你可以再问一遍你不明白的部分。