以下の Istio 構成を持つ Kafka サービスがあります。
apiVersion: v1
kind: Service
metadata:
name: kafka-service
namespace: kafka-namespace
labels:
app:istio
chart:
...
spec:
ports:
- port: 9092
targetPort: kafka
protocol: TCP
name: kafka
- port: 5555
targetPort: jmx
protocol: TCP
name: jmx
selector:
app: kafka-cluster
release: kafka-cluster
kafka-cluster/region: <region>
Kafka トピックから直接消費および生成したい。だから、私は仮想サービスを作成しようとしています。これは私が使用する構成です:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: kafka-dns-service
namespace: internal-gateway
labels:
app: istio-crds
...
spec:
hosts:
- kafka-dns-service.<local-dns>.internal
gateways:
- internal-gateway
tcp:
- match:
- port: 9092
route:
- destination:
host: kafka-service.kafka-namespace.svc.cluster.local
port:
number: 9092
ただし、これは機能しないようです。
私がしようとすると:
kafka-topics --bootstrap-server kafka-dns-service.<local-dns>.internal:9092 --list
私は得る:
Caused by: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment. Call: listTopics
Istio で Kafka VirtualService の構成に成功した人はいますか?