我在具有主节点和4个工作程序的vmware中运行kub集群。 除了我的服务外,其他一切都正常 我使用4个实例(每个工作程序一个)运行nginx RS,并创建一个NodePort服务。我可以在每个工作人员ip上访问我的nginx,但我想请求我的服务IP,我的服务会将流量路由到我的一个工作人员(例如:RoundRobin)。 但它不能做到这一点。 我的服务信息:
service/nginx NodePort 10.99.101.86 <none> 80:30590/TCP 11d
Name: nginx
Namespace: default
Labels: app=nginx
Annotations: <none>
Selector: app=nginx
Type: NodePort
IP: 10.99.101.86
Port: 80-80 80/TCP
TargetPort: 80/TCP
NodePort: 80-80 30590/TCP
Endpoints: 10.40.0.16:80,10.40.0.20:80,10.40.0.21:80
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
答案 0 :(得分:1)
通常,type: NodePort
可能不会在群集网络Here之外公开该端口分配,但是使用type: LoadBalancer
会分配该端口(在您的情况下为30590
)并允许通过单个入口通过您可能已配置的任何入口(群集主设备的浮动IP,例如http://:30590)访问流量。至于该节点端口如何分配请求,您可以查看on its own中最适合您期望分配的externalTrafficPolicy
资源,但是,目前Cluster
的默认策略将平均分配请求,可能与您描述的循环行为最接近。