2017-07-26 111 views
1

我正嘗試在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服務混合?

回答

0

你在做什麼應該工作,但我認爲你正在運行到這個已知的錯誤:https://github.com/istio/issues/issues/37

+0

我openned問題https://github.com/istio/istio/issues/506已經部分回答:必須進行一些重大改變,以便Istio Pod可以達到非Istio pod ... – Prune