我在我的vmware中运行kub集群,主节点和4个工作人员。一切正常,除了我的服务。我用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>
通常,type: NodePort
可能不会在群集网络on its own之外公开该端口分配,但使用type: LoadBalancer
将分配该端口(在您的情况下,30590
)并允许流量通过您可能已配置的任何入口(例如,群集主机的浮动IP) ,http://:30590)通过单个入口。至于该节点端口如何分配请求,您可以查看the various patterns以获取最符合您所需分布的externalTrafficPolicy
资源,但是,目前Cluster
默认策略将平均分配请求,这可能最接近您的循环行为描述。