如何从另一个VPC中存在的实例连接到GKE专用集群?

时间:2020-01-29 22:18:08

标签: networking google-kubernetes-engine vpc

我在GCP平台上有以下资源

  1. 在xyz VPC中具有专用端点的GKE专用群集
  2. 与群集(xyz VPC)位于同一VPC中的私有实例,例如ubuntu-vm-xyz

  3. 另一个VPC(lmn VPC)中的私有实例,例如ubuntu-vm-lmn

当Google和xyz VPC之间的VPC对等自动创建时,我能够从ubuntu-vm-xyz连接到Cluster。

我无法从ubuntu-vm-lmn连接到群集,因为必须手动创建Google和lmn VPC之间的VPC对等连接。我可以从自己的角度创建对等设置到Google的网络。

对于lmn VPC,我们如何从Google端进行对等?

2 个答案:

答案 0 :(得分:3)

The document提到“每个GKE集群都有一个称为master的Kubernetes API服务器。母版位于与您的项目分开的Google拥有的项目中。它运行在Google拥有的项目的VPC网络中的VM上。”和“在专用群集中,主服务器的VPC网络通过VPC Network Peering连接到群集的VPC网络。您的VPC网络包含群集节点,而单独的Google Cloud VPC网络包含您群集的主节点。 ”,您可以从ubuntu-vm-xyz到达专用端点,因为它位于同一vpc网络中。

现在,它也解释了为什么ubuntu-vm-lmn无法访问私有集群中的端点。如前所述,您的主节点位于google托管项目中,因此您无权访问该vpc。根据{{​​3}},vpc对等关系需要执行以下三个步骤:

  • 第1步:将网络a与网络b对等
  • 第2步:将网络b与网络a对等
  • 第3步:VPC网络对等变为活动状态

因此,您无法完成与Google拥有的项目的vpc对等。而且VPC不支持“ the document”。因此,无法在xyz和lmn之间创建vpc对等连接。

现在,更简单的解决方案是启用Transitive peering并在文档的帮助下将网络添加到master authorized networks中。

或者,您可以尝试在两个vpc之间创建一个aster-authorized-networks。但是,老实说,我没有亲自测试过那个。

注意:我想将此内容发布为评论,但由于字符数限制发布为限制。请随时对此添加问题或评论,我将相应地对此帖子进行修改。

答案 1 :(得分:1)

这并非完全相同,但本质与this question and answer

相同

另一个问题here也涉及到这一点。

请注意,Global access也应解决此问题,尽管尚不清楚Google是否会在Master专用端点上启用此功能