【发布时间】:2020-10-06 05:04:11
【问题描述】:
我认为 Google Cloud 中的设置相当简单——一个 GKE 集群、一个 Cloud SQL 实例和一个“点击部署”Kafka VM 实例。
所有资源都在同一个 VPC 中,防火墙规则允许所有流量进入内部 VPC CIDR 块。
GKE 集群中的 Pod 通过私有 IP 地址访问 Cloud SQL 实例没有问题。但他们似乎无法通过私有 IP 地址访问 Kafka 实例:
# kafkacat -L -b 10.1.100.2
% ERROR: Failed to acquire metadata: Local: Broker transport failure
我在 VPC 中手动启动了另一个 VM,连接到 Kafka 实例没有问题:
# kafkacat -L -b 10.1.100.2
Metadata for all topics (from broker -1: 10.1.100.2:9092/bootstrap):
1 brokers:
broker 0 at ....us-east1-b.c.....internal:9092
1 topics:
topic "notifications" with 1 partitions:
partition 0, leader 0, replicas: 0, isrs: 0
我似乎看不出 GKE 中的容器和手动启动的 VM 之间的网络有任何真正的区别,特别是因为两者都可以访问 10.10.0.3 的 Cloud SQL 实例。
我该去哪里寻找阻止连接的原因?
【问题讨论】: