kubernetes - 如何在位于不同区域的两个私有 GCP 集群之间建立通信?
问题描述
我是 GCP 的新手,想问一个问题:
我在同一区域有两个私有集群,带有内部 LB(都在一个 VPC 中),目前两个集群中的 pod 都能够通过 HTTP 相互通信。
据我从文档中了解到 - 内部 LB 是一种区域产品,因此如果私有集群位于不同的区域,则上述情况是不可能的。
为了使位于不同区域的两个私有集群的 pod 能够相互通信,我需要做什么?
我的猜测是,我必须为这两个集群定义外部 LB,并使用防火墙规则允许仅通过外部 IP 进行集群到集群的通信,并阻止来自外部世界的所有通信。
解决方案
由于这些是不同的IP 范围(至少在自动模式下),因此它是全局 VPC 可能无济于事 - 在这种情况下,您必须添加VPN 隧道,以便路由这些网段。还要考虑增加两条隧道的可能性;一个用于入口,一个用于出口流量。
VPN 隧道的替代方案可能是VPC Network Peering,主要区别在于:
对等 VPC 网络在管理上保持独立。路由、防火墙、VPN 和其他流量管理工具在每个 VPC 网络中单独管理和应用。
推荐阅读
- symfony - Symfony 3.4 中 ArrayCollection / OneToMany 关系的类型错误
- node.js - How to control the inner join query in sequelize using node.js?
- javascript - 你如何让javascript(包括带有数组和返回的函数)在按钮点击时写入div而不转到另一个页面
- javascript - 使用 angularjs 触发 HTML 属性而不使用按钮
- javascript - 什么是`vsc-initialized`?
- android - :app:transformClassesWithDexBuilderForDebug 添加领域后异常
- ruby-on-rails - 红宝石正则表达式匹配
- mysql - MySQL:语句中有两个计数
- python - Django:如何在不呈现反斜杠的情况下序列化模型的文本字段
- concourse - 大厅合并另一个分支