routing - istio 导出网关 : routing through a static IP

标签 routing kubernetes google-kubernetes-engine istio

我正在尝试通过静态 IP 从我的 GKE 集群中的应用程序路由出站流量,因为目标服务器需要白名单 IP 才能进行访问。我已经能够使用 terraformed nat 网关执行此操作,但这会影响来自集群的所有流量。

按照网站上的 istio 指南,我已经能够通过 egressgateway pod 路由流量(我可以在网关日志中看到它),但我需要网关有一个静态 ip,并且没有覆盖在 egressgateway 静态 ip 的 Helm 值中。

如何在安装 istio 后无需修补或破解它的情况下为 egressgateway 分配静态 ip?

最佳答案

我认为您的问题分为三个步骤。首先,将传出流量固定到特定的 pod。 istio egress gateway 为你做这件事。第二和第三,将 pod 固定到特定的 IP 地址。

如果您使用 GCP 版本的 float IP 地址,则可以将已知 IP 分配给集群中的其中一台主机。然后,在导出网关上使用节点亲和性将其调度到特定主机,https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

我已经在我的一个测试集群中编辑了导出部署,以 requiredDuringSchedulingIgnoredDuringExecution: 节点选择器条款: - 匹配表达式: - key :beta.kubernetes.io/arch 运营商:在 值(value)观: - amd64 - ppc64le - s390x - key :kubernetes.io/主机名 运营商:在 值(value)观: - worker-2720002 通过主机名标签固定它,但是当您为它分配一个 float ip 时,您可能希望选择一个新标签并将其应用于该节点。在我的测试中,pod 被移动到指定的节点,我的传出流量也是如此。

关于routing - istio 导出网关 : routing through a static IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51740450/

相关文章:

java - spring boot如何在k8s中连接localhost mysql?

routing - 获取有关在 Fat Free v3 中执行的路线的信息

kubernetes - 有一种简单的方法可以在kubernetes pod容器上禁用linux日志吗?

kubernetes - 在 OpenStack 上部署 Kubernetes

kubernetes - 是否可以在 GKE 集群中同时运行 Istio 和 gRPC

kubernetes - 如何更改 GKE 管理的日志记录代理的 Fluentd 配置?

c# - ASP.NET MVC 5 路由可选参数

php - 在路由中排除路径

linux - 用于 MPLS 配置的 iproute2 命令

amazon-web-services - Kubernetes pod 在大型机器上使用过多内存