K8s istio启用pod无法访问常规服务
问题描述:
我正尝试在AWS上的K8s 1.6群集中使用Istio。K8s istio启用pod无法访问常规服务
我有一个Kafka pod/service运行旧时尚的方式,没有IP的“kafka-zk-broker-kafka.dev”服务,所以kafka-zk-broker-kafka.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,因为它也暴露了gRPC端口供内部使用。 部署进行得很顺利,但我的应用程序无法连接到“kafka-broker”服务。 DNS解析是正常的,但我无法使用kafka客户端或telnet访问服务端口(TCP:9092)。
我的理解是,当部署Istio(envoy)sidecart时,POD中的所有内容都将通过Envoy代理... 因此,特使代理不知道如何访问常规服务?
我错过了什么吗?有没有办法将Istio/Envoy与常规K8s服务混合?
我openned问题https://github.com/istio/istio/issues/506已经部分回答:必须进行一些重大改变,以便Istio Pod可以达到非Istio pod ... – Prune