gpt4 book ai didi

amazon-web-services - 位于独立 Kubernetes 集群中的两个 Pod 之间的连接

转载 作者:行者123 更新时间:2023-12-04 08:12:04 27 4
gpt4 key购买 nike

我有两个(独立的)Kubernetes 集群,一个设置为 GKE/GCE 集群,另一个设置在使用 kube-up.sh 创建的 AWS 环境中。脚本。两个集群都正常工作,我可以启动/停止 Pod、服务和其他所有东西。

我希望位于这些集群中的 pod 能够相互通信,但不将它们作为服务公开。为了实现这一点,我在两个集群之间设置了 VPN 连接,以及一些路由/防火墙规则,以确保 VM/Pod 可以相互看到。

我可以确认以下场景正常工作:

GCE 中的 VM -> AWS 中的 VM(OK)

GCE 中的 Pod -> AWS 中的 VM(OK)

AWS 中的 VM -> GCE 中的 VM(OK)

AWS 中的 VM -> GCE 中的 Pod(OK)

AWS 中的 Pod -> GCE 中的 Pod(OK)

但是,我无法让 GCE 中的 VM 或 Pod 与 AWS 中的 Pod 进行通信。

我想知道是否有任何方法可以使用当前的 AWS VPC 功能进行这项工作。似乎当 VPN 隧道的 AWS 端接收到发往 Pod 的数据包时,它并不真正知道如何处理它们。另一方面,GCE 网络自动配置了将 pod IP 关联到 GKE 集群的路由。在这种情况下,当发往 Pod 的数据包到达 VPN 隧道的 GCE 端时,它会正确转发到其目的地。

这是我的配置:

在 us-east1 中的 GKE/GCE

网络:10.142.0.0/20
VM1 IP:10.142.0.2
Pod 范围(对于 VM1):10.52.4.0/24
Pod1 IP:10.52.4.4 (运行busybox)

防火墙规则:允许来自 172.16.0.0/12 的任何流量

路由:发送带有目的地的所有内容 172.16.0.0/12到 VPN 隧道(创建 VPN 时自动添加)

AWS 在 ap-northeast-1

专有网络:172.24.0.0/16
子网 1:172.24.1.0/24
VM3 IP(在子网 1 中):172.24.1.5
Kubernetes 集群网络 (NON_MASQUERADE_CIDR):172.16.0.0/16
Pod 范围 ( CLUSTER_IP_RANGE ): 172.16.128.0/17
Pod 范围(对于 VM3):172.16.129.0/24
Pod3 IP:172.16.129.5
安全组:允许来自 10.0.0.0/8 的任何流量

路线:

  • 目的地 10.0.0.0/8到 VPN 隧道
  • 目的地 172.16.129.0/24到 VM3

  • 有没有人尝试做类似的事情?有什么方法可以配置 AWS VPC VPN 网关以确保将发往 Pod 的数据包正确发送到托管它们的 VM?有什么建议?

    最佳答案

    你在 kubernetes 中问什么 federation .

    Federation makes it easy to manage multiple clusters. It does so by providing 2 major building blocks:

    • Sync resources across clusters: Federation provides the ability to keep resources in multiple clusters in sync. This can be used, for example, to ensure that the same deployment exists in multiple clusters.

    • Cross cluster discovery: It provides the ability to auto-configure DNS servers and load balancers with backends from all clusters. This can be used, for example, to ensure that a global VIP or DNS record can be used to access backends from multiple clusters.



    另外,这个可能会帮助你 https://kubernetes.io/docs/admin/multiple-zones/

    关于amazon-web-services - 位于独立 Kubernetes 集群中的两个 Pod 之间的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39258098/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com