【问题标题】:Mongodb Atlas VPC Peering Network not connecting to GCP VPCMongodb Atlas VPC 对等网络未连接到 GCP VPC
【发布时间】:2021-12-20 04:34:17
【问题描述】:

(已编辑) 我想将 GKE pod 连接到 Atlas。

我有一个 Atlas 数据库,其 VPC 对等连接设置到 GCP VPC 网络。我正在尝试应用我在这些 tuts 中学到的东西:

Configuring VPC Network Peering

Controlling Access to VPC Networks

当我在 GCP 控制台中查看 VPC 网络对等 > 路由 > 对等时,我看到了自动配置的对等路由。我不知道如何设置或如何测试连接。我从我的 pod ping atlas IP,它得到 100% 的数据包丢失,但是没有路由,所以它不应该通过。我从那里的 pod 转到 VM 实例和 SSH,然后运行

docker run --rm busybox ping 192.168.0.0 -c 3

但是,可以预见的是,结果是一样的。

从我做的 gcloud shell:

gcloud compute firewall-rules list

然后得到:

NAME: allow-monolith-nodeport
NETWORK: default
DIRECTION: INGRESS
PRIORITY: 1000
ALLOW: tcp:31000
DENY:
DISABLED: False

NAME: default-allow-icmp
NETWORK: default
DIRECTION: INGRESS
PRIORITY: 65534
ALLOW: icmp
DENY:
DISABLED: False

NAME: default-allow-internal
NETWORK: default
DIRECTION: INGRESS
PRIORITY: 65534
ALLOW: tcp:0-65535,udp:0-65535,icmp
DENY:
DISABLED: False

NAME: default-allow-rdp
NETWORK: default
DIRECTION: INGRESS
PRIORITY: 65534
ALLOW: tcp:3389
DENY:
DISABLED: False

NAME: default-allow-ssh
NETWORK: default
DIRECTION: INGRESS
PRIORITY: 65534
ALLOW: tcp:22
DENY:
DISABLED: False

NAME: gke-my-cluster-94435ead-all
NETWORK: default
DIRECTION: INGRESS
PRIORITY: 1000
ALLOW: icmp,esp,ah,sctp,tcp,udp
DENY:
DISABLED: False

NAME: gke-my-cluster-94435ead-ssh
NETWORK: default
DIRECTION: INGRESS
PRIORITY: 1000
ALLOW: tcp:22
DENY:
DISABLED: False

NAME: gke-my-cluster-94435ead-vms
NETWORK: default
DIRECTION: INGRESS
PRIORITY: 1000
ALLOW: icmp,tcp:1-65535,udp:1-65535
DENY:
DISABLED: False

NAME: k8s-fw-l7--ca9214afee2f865d
NETWORK: default
DIRECTION: INGRESS
PRIORITY: 1000
ALLOW: tcp:30000-32767
DENY:
DISABLED: False

在 GKE 中,我创建了一个具有计算网络管理员角色的服务帐户,但不确定如何将其链接到我的 pod 的虚拟机?我需要这个来更改 pod 虚拟机的防火墙规则 - 如果我可以从 pod/服务清单中进行声明会更好。

在 Atlas 中,我将我的 pod 虚拟机的外部 IP 添加到网络访问 IP 访问列表中。

如何在 Mongodb Atlas 和 GKE pod 之间设置 VPC 网络对等互连,以便在我 ping Atlas CIDR 时收到数据包?

****** 编辑 *****

当我关注这个 tut atlas k8s peering tut 时,我发现我无法在 GKE 上更改我的 k8s 网络?我需要从头开始重新创建集群吗?

【问题讨论】:

标签: google-kubernetes-engine mongodb-atlas gke-networking gcp-peering


【解决方案1】:

我首先要确保 VPC 对等链接处于活动状态。如果您在“对等互连”部分中没有看到任何路由,则很可能该链接未处于活动状态,因此未通过流量。

这是关于如何将 Atlas 数据库与 VPC 网络对等的综合教程 [1];可以看到,两边都有一些具体的参数需要填写,比如项目id、VPC名称等。

[1]https://www.mongodb.com/developer/how-to/connect-atlas-cloud-kubernetes-peering/

【讨论】:

  • 是的,我找到了那个——它不够全面!我仍然不明白如何在 Atlas VPC 中设置 VM 以 ping GCP VPC 网络或如何从我的 GKE pod ping Atlas VPC?我已经编辑了这个问题,因为我重新设置了对等连接并自动配置了所有对等路由 - 所以我认为我的 Atlas Project ID 字段末尾有额外的空格,但现在我知道我有对等路由我不知道如何使用它们
  • 我不确定如何配置网络位 - 我是否必须在创建 GKE 集群时从一开始就这样做?查看已编辑的问题
  • Atlas 中的资源分配是自动完成的,您无法“设置”虚拟机。当您配置数据库集群时,您会得到一个可以连接到的 URI。默认情况下,您将获得一个指向公共 IP 地址的 URI,而对等链接的全部目的是创建一个指向私有 IP 地址的 URI,该地址只能由对等设置中配置的白名单子网访问.请注意,只有 M10 及以上集群才允许对等连接。
  • 要识别数据库集群的特定 IP 地址,您需要通过 Atlas 控制台连接到它并从那里运行 nslookup。最后,是的,您需要使用 --network 和 --subnetwork 标志创建 Kubernetes 集群,您可以在这方面找到大量 google 的公共文档。
猜你喜欢
  • 1970-01-01
  • 2021-06-06
  • 2020-12-07
  • 2020-12-07
  • 2021-04-07
  • 1970-01-01
  • 2020-03-02
  • 2019-07-14
  • 1970-01-01
相关资源
最近更新 更多