我正在尝试使用Strimzi提供对Kafka的双向外部访问,遵循以下指南:Red Hat Developer - Kafka in Kubernetes
我的YAML摘自Strimizi examples on GitHub,如下所示:
apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
name: my-cluster
spec:
kafka:
version: 3.0.0
replicas: 1 #3
listeners:
- name: plain
port: 9092
type: internal
tls: false
- name: tls
port: 9093
type: internal
tls: true
- name: external
port: 9094
type: loadbalancer
tls: false
configuration:
#externalTrafficPolicy: Local
#loadBalancerSourceRanges:
# - 10.0.0.200/32
brokers:
- broker: 0
advertisedHost: 10.0.0.200
advertisedPort: 30123
config:
offsets.topic.replication.factor: 1 #3
transaction.state.log.replication.factor: 1 #3
transaction.state.log.min.isr: 1 #2
log.message.format.version: "3.0"
inter.broker.protocol.version: "3.0"
storage:
type: ephemeral
zookeeper:
replicas: 1 #3
storage:
type: ephemeral
entityOperator:
topicOperator: {}
userOperator: {}运行kubectl get services时,我会看到以下内容:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 48m
my-cluster-kafka-0 LoadBalancer 10.107.190.96 <pending> 9094:31964/TCP 29m
my-cluster-kafka-bootstrap ClusterIP 10.99.34.246 <none> 9091/TCP,9092/TCP,9093/TCP 43m
my-cluster-kafka-brokers ClusterIP None <none> 9090/TCP,9091/TCP,9092/TCP,9093/TCP 43m
my-cluster-kafka-external-bootstrap LoadBalancer 10.99.91.68 <pending> 9094:31442/TCP 29m
my-cluster-zookeeper-client ClusterIP 10.101.216.35 <none> 2181/TCP 45m
my-cluster-zookeeper-nodes ClusterIP None <none> 2181/TCP,2888/TCP,3888/TCP 45m请注意,my-cluster-kafka-0和my-cluster-kafka-external-bootstrap具有<pending> EXTERNAL-IP。要提供对my-cluster-kafka-0的双向外部访问,我的YAML文件中缺少哪些内容
发布于 2021-10-28 15:45:53
Strimzi刚刚创建了Loadbalancer类型的Kubernetes服务。这取决于您的Kubernetes集群来提供负载均衡器并设置Strimzi可以使用的外部地址。当外部地址被列为pending时,这意味着(尚未)创建负载均衡器。在一些公共云中,这可能需要几分钟的时间,所以可能只需要等待。但请记住,并非所有环境=>都支持负载均衡器,当它们不受支持时,您就不能真正使用它们。所以你真的需要仔细检查你的环境是否支持它们。通常,不同的云将支持负载均衡器,而一些本地或裸机环境可能不支持(但这真的取决于)。
我也不太确定为什么要配置通告的主机和端口:
advertisedHost: 10.0.0.200
advertisedPort: 30123在使用负载均衡器时(假设它们在您的环境中受支持),您通常会希望使用负载均衡器地址,该地址将自动设置为通告的主机/端口。除此之外,您的YAML看起来不错,但是可能缺少对负载均衡器的支持。
https://stackoverflow.com/questions/69752073
复制相似问题