假设我有一个三个节点的Kafka集群设置。那么如何使用负载均衡器服务将其暴露在云外?我已经阅读了参考资料,但还有一些疑问。
例如下面是代理(broker)的服务:
例如下面是代理(broker)的服务:
apiVersion: v1
kind: Service metadata:
name: kafka-0
annotations: dns.alpha.kubernetes.io/external: kafka-0.kafka.my.company.com
spec:
externalTrafficPolicy: Local
type: LoadBalancer
ports:
- port: 9092
name: outside
targetPort: 9092
selector: app: kafka kafka-pod-id: "0"
- 端口和目标端口是什么?
- 我是否需要为每个代理设置负载均衡服务?
- 这些多个代理是否映射到云负载平衡器的单个公共 IP 地址上?
- k8s/cloud 外部的服务如何访问单个代理?通过使用
public-ip:port
还是kafka-<pod-id>.kafka.my.company.com:port
?此处使用哪个端口?port
还是targetPort
? - 如何在 Kafka 代理的
Advertised.listeners
属性中指定此配置?因为 k8s 群集内外的服务端口可能不同。