首页 > 解决方案 > GKE Pod 连接到同一子网中的外部虚拟机

问题描述

我有一个 pod 需要连接到位于 GCE Vm 上的数据库,该数据库与 GKE 节点具有相同的子网。我目前有一个 pod 成功连接到的 k8 Service 和 k8 Endpoint,但无法路由 10.128.0.2。我确定这与 GCP 防火墙规则/路由有关,但我运气不佳。

子网 -> 10.128.0.0/9

cbr0 -> 10.8.15.0/20

eth0 -> 10.128.0.1

k8 服务 -> 10.11.224/14

大师版:1.9.7-gke.3

kind: Endpoints
apiVersion: v1
metadata:
  name: externalDB
  namespace: default
 subsets:
  - addresses:
      - ip: 10.128.0.2 
    ports:
      - port: 7199 
        name: interface

"

标签: networkingkubernetesgoogle-cloud-platformgoogle-compute-enginegoogle-kubernetes-engine

解决方案


此时,服务和端点是不可路由的;然而,豆荚如本文所述。正如@cohenjo 提到的,您应该直接从 pod 连接。

编辑:我相信这个问题是由于运行 1.9.x 的集群上的防火墙更改造成的,如本文所述。您可以按照文章中提供的步骤允许从 GKE 集群与网络上的所有 VM 实例进行通信,或者将在节点上分配的网络标签附加到您希望 Pod 与之通信的 VM 实例。


推荐阅读