Kubernetes服务无法从网络外访问

问题描述 投票:-1回答:1

我在我的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>
networking kubernetes vmware kubeadm
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.