如何通过对等互连从 Hub VPC 中的 VPN 访问 GKE Private Master

问题描述 投票:0回答:1

我目前在访问 Google Cloud Platform 上的私有 GKE 集群的主节点时遇到问题。这是我的配置:

地形代码:

resource "google_container_cluster" "private_cluster" {
  name     = "name"
  location = var.zone
  network  = gke_vpc_self_link
  subnetwork = gke_subnet_self_link

  enable_shielded_nodes = true
  remove_default_node_pool = true
  initial_node_count       = 1

  private_cluster_config {
    enable_private_endpoint = true
    enable_private_nodes    = true
    master_ipv4_cidr_block  = "172.16.0.0/28"
  }

网络架构:

  • VPC Hub:包含带有 Pritunl VPN 服务器的虚拟机。
  • VPC Spoke:包含私有 GKE 集群。
  • VPC 对等:在 VPC Hub 和 VPC Spoke 之间建立。

问题

我有一个在 VPC Hub 中运行的 Pritunl VPN 服务器。问题是,使用VPC Hub中的VPN获取的私有IP无法访问VPC Spoke中GKE集群的Master。这是因为 Google Cloud 中的 VPC 对等互连不支持传输路由,这意味着来自 VPN 的 IP 无法直接访问 GKE 主节点,除非它们属于同一 VPC。

要求

  • 通过 VPC Hub 中的 VPN 从我的本地计算机访问 GKE Master。
  • 避免在 VPC Spoke 中设置 VPN。

尝试过的解决方案

  • VPC 对等:VPC Hub 和 VPC Spoke 之间建立对等,但不支持中转路由。

所需的解决方案

寻找一种方法,允许从我的本地计算机(通过 VPC Hub 中的 VPN)访问 VPC Spoke 中的 GKE 主节点,而无需在 VPC Spoke 中设置另一个 VPN。

实现此设置的推荐做法或配置是什么?任何有关使用中转网关、路线或其他方法来解决此问题的建议将不胜感激。

#环境详情

  • 谷歌云平台(GCP)
  • GKE 集群(私有)
  • VPC Hub 中的 Pritul VPN
  • Hub 和 Spoke 之间的 VPC 对等
google-cloud-platform networking google-kubernetes-engine vpc
1个回答
0
投票

GKE 控制平面部署在 Google 管理的 VPC 中,而不是部署在您的分支 VPC 中。

要访问控制平面,您需要在中心 VPC 和分支 VPC 之间建立 VPN 连接,如评论中所述。

另一个解决方案是使用部署在分支 VPC 中的堡垒虚拟机,并从中心 VPC 通过 SSH 连接到该虚拟机。然后从堡垒主机连接到控制平面。更多 - https://cloud.google.com/kubernetes-engine/docs/tutorials/private-cluster-bastion

第三种解决方案是在启用授权网络的情况下使用外部端点访问。 https://cloud.google.com/kubernetes-engine/docs/concepts/private-cluster-concept#overview

有一些选项可以使用 PSC 连接到 GKE 控制平面,但目前此 PSC 端点只能部署在部署节点池的同一 VPC 中,因此对于您的情况来说不是很有用。请记住,这是某些较新版本的集群的默认设置:

满足以下任意条件的私有或公有集群,可以使用Private Service Connect私连接节点和控制平面:

2022 年 3 月 15 日或之后版本 1.23 中的新公共集群。 新 2024 年 1 月 28 日之后版本 1.29 中的私有集群。

https://cloud.google.com/kubernetes-engine/docs/concepts/network-overview#public-cluster-psc

© www.soinside.com 2019 - 2024. All rights reserved.