Kubernetes 每个节点上的入口网关
每个节点运行相同的pod,所有节点都执行相同的操作。我正在使用Istio入口网关和节点端口。我需要将进入NodePort的流量路由到不离开节点的POD。 我无法在每个节点上运行Kubernetes 每个节点上的入口网关,kubernetes,istio,Kubernetes,Istio,每个节点运行相同的pod,所有节点都执行相同的操作。我正在使用Istio入口网关和节点端口。我需要将进入NodePort的流量路由到不离开节点的POD。 我无法在每个节点上运行istio-ingresgateway。每个节点是否可以路由自己的流量 裸金属,k8s 1.19.4,Istio 1.8版 正如@Jonas在评论中提到的那样 问题是node1上只有一个istio入口通道pod,所有来自node2的流量都必须到达node1 解决方案 您可以使用扩展入口网关副本。下面的命令将创建3个入口网关
istio-ingresgateway
。每个节点是否可以路由自己的流量
裸金属,k8s 1.19.4,Istio 1.8版
正如@Jonas在评论中提到的那样
问题是node1上只有一个istio入口通道pod,所有来自node2的流量都必须到达node1
解决方案
您可以使用扩展入口网关副本。下面的命令将创建3个入口网关吊舱,而不仅仅是一个
kubectl scale --replicas=3 deployment/istio-ingressgateway -n istio-system
此外,您还可以使用replicaCount值进行设置
请注意,如果使用云,则可能会配置云,并且它可能会立即向上扩展POD。这是不可能的。您还可以使用istio设置hpa最小值和最大值。您是否尝试过使用粘性会话配置添加DestinationRule?在istio文档中,可以在第页找到它。更好的描述是,搜索
一致散列
。如果istio ingressgateway
在节点1
上运行,则到达节点2
节点端口的所有流量都将路由到节点1
?这两个节点位于不同的大陆上,通信往返速度太慢。如果它们位于不同的大陆上,则应能正常工作,因此istio应通知特使将通信优先排序到与发送请求的特使所在地最匹配的工作负载实例。如果您正在使用托管Kubernetes服务,您的云提供商应该为您配置此服务。如果您正在运行自己的Kubernetes群集,则需要将这些标签添加到您的节点。来自NodePort的流量将流向istio ingressgateway xxxx pod,然后才流向群集的其余部分,对吗?非常成功!:)以前我尝试过编辑部署,但它什么也没做。不管怎样,它确实有助于回答我的问题,请用这个尺度。顺便说一句,目前我使用1个主节点和2个工作节点进行测试。现在,我在每个工作节点上都运行了一个网关。这个解决方案不能确保所有的工作节点都分布在所有节点上。这就是我们的目的。