无法从Istio Mesh连接到外部Kafka服务

时间:2020-09-16 15:00:22

标签: kubernetes apache-kafka istio

我无法从网格内部连接到“外部”(网格外部)Kafka服务。在Istio网格内部,我有一个Spring Boot应用程序,该应用程序应连接到平台Kafka服务。

可以通过DNS名称访问Kafka服务(我尝试过,有可能)。要访问该服务,我使用以下配置创建了一个ServiceEntry:

apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: kafka
  namespace: test
spec:
  hosts:
  - kafka-service.foo.baa
  ports:
  - number: 37000
    name: tls-6
    protocol: tls
  - number: 36200
    name: tls-5
    protocol: tls
  - number: 36201
    name: tls-4
    protocol: tls
  - number: 36202
    name: tls-3
    protocol: tls
  - number: 36203
    name: tls-2
    protocol: tls
  - number: 36204
    name: tls-1
    protocol: tls
  resolution: DNS
  location: MESH_EXTERNAL

有时我会建立连接,但有时却无法连接,我不知道该问题以及为什么它有时会起作用。

这些是一些错误消息:

org.apache.kafka.common.config.ConfigException: No resolvable bootstrap urls given in bootstrap.servers
Removing server kafka-service.foo.baa:37000 from bootstrap.servers as DNS resolution failed for kafka-service.foo.baa

我还尝试使用此注释traffic.sidecar.istio.io/excludeOutboundPorts: 37000,36200,36201,36202,36203,36204,36205绕过流量,但是效果不佳。 如果我将DNS名称的IP地址读入作为引导服务器,则绕过功能才起作用。

请帮助。

0 个答案:

没有答案