Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
kubernetes外部ip多站路由是如何工作的?_Kubernetes_Haproxy_Haproxy Ingress - Fatal编程技术网

kubernetes外部ip多站路由是如何工作的?

kubernetes外部ip多站路由是如何工作的?,kubernetes,haproxy,haproxy-ingress,Kubernetes,Haproxy,Haproxy Ingress,我在外部ip上有带haproxy入口控制器(守护程序集)的裸机Kubernetes群集。是否可以限制kube代理路由到本地haproxy入口吊舱 更具体地说,我有两个haproxy入口控制器的吊舱,并为它们使用一个外部ip。据我所知,kube代理将循环路由到pods。我没有找到任何方法来限制这种特殊行为。在NodePort服务中设置externalTrafficPolicy:Local 这将使发送到节点X的流量只发送到节点X中的pod。如果节点X中没有pod,流量将被丢弃(但这不应该是问题,因为

我在外部ip上有带haproxy入口控制器(守护程序集)的裸机Kubernetes群集。是否可以限制kube代理路由到本地haproxy入口吊舱


更具体地说,我有两个haproxy入口控制器的吊舱,并为它们使用一个外部ip。据我所知,kube代理将循环路由到pods。我没有找到任何方法来限制这种特殊行为。

在NodePort服务中设置
externalTrafficPolicy:Local

这将使发送到节点X的流量只发送到节点X中的pod。如果节点X中没有pod,流量将被丢弃(但这不应该是问题,因为您使用的是守护程序)

另一个好处是,这保留了haproxy看到的真实源IP。如果没有
externalTrafficPolicy
,haproxy可能会看到另一个节点的源IP而不是原始IP,因为节点可以代理流量


更多信息

更具体地说,您的意思是您不希望POD绑定到外部IP的端口上。我有2个haproxy入口控制器吊舱,并为它们使用一个外部ip。据我所知,kube代理将以循环方式发送给他们。我没有找到任何方法将这种行为限制在本地pod上。我想您的意思是每个节点都有一个haproxy ingress controller实例作为守护程序作为NodePort公开,因此每个haproxy都有一个外部IP和一个大于30000的端口。所以,如果您希望roundrobin访问haproxy ingress控制器,您需要一个负载平衡器。不,我在服务中使用外部ip。我有真正的端口,比如80443。