1

我正在尝试在 AWS 上的 K8s 1.6 集群中使用 Istio。

我有一个以老式方式运行的 Kafka pod/服务,有一个没有 IP 的“kafka-zk-broker-kafka.dev”服务,所以 kafka-zk-broker-kafka.dev 服务(我在 dev 命名空间中) 解析为我的 3 个 Kafka pod 的内部名称。这很好用。

~ # nslookup kafka-zk-broker-kafka.dev

Name:      kafka-zk-broker-kafka.dev
Address 1: 10.33.0.11 kafka-zk-kafka-0.kafka-zk-broker-kafka.dev.svc.cluster.local
Address 2: 10.38.96.16 kafka-zk-kafka-2.kafka-zk-broker-kafka.dev.svc.cluster.local
Address 3: 10.40.128.13 kafka-zk-kafka-1.kafka-zk-broker-kafka.dev.svc.cluster.local

我使用 Istio sidecart 部署了一个 kafka 生产者应用程序,因为它还公开了一个 gRPC 端口以供内部使用。部署顺利,但我的应用程序无法连接到“kafka-broker”服务。DNS解析没问题,但我无法使用kafka客户端或telnet访问服务端口(TCP:9092)。

我的理解是,当部署 Istio (envoy) sidecart 时,POD 外的所有内容都通过 Envoy 代理......所以 envoy 代理不知道如何访问常规服务?

我错过了什么吗?有没有办法将 Istio/Envoy 与常规 k8s 服务混合使用?

4

1 回答 1

0

你正在做的应该工作,但我认为你遇到了这个已知的错误:https ://github.com/istio/issues/issues/37

于 2017-07-27T17:49:23.267 回答