无法从 GKE 集群连接 GCP SQL 实例

无法从 GKE 集群连接 GCP SQL 实例

我已经创建了一个 vpc-native 集群,并尝试从集群内部的 pod 连接到具有私有 IP 的 postgres SQL 实例。

我正在使用基本的 telnet 5432 命令进行测试。

当我从位于同一 VPC 中的 GCE 实例尝试连接时,连接工作正常。GCP 中的所有连接测试都为我打开了绿灯,因此这似乎是 k8s 问题。

这是我的集群:

gcloud container clusters create alex-test \                                                            
    --network=factory-vpc \
    --region=europe-west1 \
    --enable-ip-alias \
    --subnetwork=europe-west1-factory-subnet \
    --cluster-ipv4-cidr="/16" \
    --services-ipv4-cidr="/20"

以下是我测试连通性的方法:

kubectl run -it --rm --restart=Never busybox --image=gcr.io/google-containers/busybox sh
telnet <private ip> 5432

这是我在 terraform 中的网络配置:

resource "google_compute_network" "factory" {
  name                    = "factory-vpc"
  auto_create_subnetworks = false

  depends_on = [google_project_service.compute]
}

resource "google_compute_subnetwork" "factory_subnet" {
  name                     = "${var.region}-factory-subnet"
  ip_cidr_range            = "10.0.0.0/16"
  region                   = var.region
  network                  = google_compute_network.factory.self_link
  private_ip_google_access = true

  secondary_ip_range {
    ip_cidr_range = "10.2.0.0/16"
    range_name    = "pods"
  }

  secondary_ip_range {
    ip_cidr_range = "10.3.0.0/16"
    range_name    = "services"
  }
}

resource "google_compute_global_address" "gitlab_google_private_peering" {
  provider      = google-beta
  name          = "gitlab-gcp-private"
  address_type  = "INTERNAL"
  purpose       = "VPC_PEERING"
  network       = google_compute_network.factory.self_link
  prefix_length = 16
}

resource "google_service_networking_connection" "gitlab_google_private_peering" {
  provider                = google-beta
  network                 = google_compute_network.factory.self_link
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.gitlab_google_private_peering.name]
}

我已经检查了以下文档和文章,但没有任何帮助:

任何帮助是极大的赞赏 !

答案1

请确保并检查您是否可以与实例、主机名和声明的 IP 地址进行通信。如果可以,请确保您位于同一区域。

我找到了这个关联这可能会对你有所帮助。以下是如何设置具有共享的集群私有云平台

相关内容