首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Strimzi对Kafka进行外部访问

使用Strimzi对Kafka进行外部访问
EN

Stack Overflow用户
提问于 2021-10-28 10:04:05
回答 1查看 438关注 0票数 0

我正在尝试使用Strimzi提供对Kafka的双向外部访问,遵循以下指南:Red Hat Developer - Kafka in Kubernetes

我的YAML摘自Strimizi examples on GitHub,如下所示:

代码语言:javascript
复制
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时,我会看到以下内容:

代码语言:javascript
复制
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-0my-cluster-kafka-external-bootstrap具有<pending> EXTERNAL-IP。要提供对my-cluster-kafka-0的双向外部访问,我的YAML文件中缺少哪些内容

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-28 15:45:53

Strimzi刚刚创建了Loadbalancer类型的Kubernetes服务。这取决于您的Kubernetes集群来提供负载均衡器并设置Strimzi可以使用的外部地址。当外部地址被列为pending时,这意味着(尚未)创建负载均衡器。在一些公共云中,这可能需要几分钟的时间,所以可能只需要等待。但请记住,并非所有环境=>都支持负载均衡器,当它们不受支持时,您就不能真正使用它们。所以你真的需要仔细检查你的环境是否支持它们。通常,不同的云将支持负载均衡器,而一些本地或裸机环境可能不支持(但这真的取决于)。

我也不太确定为什么要配置通告的主机和端口:

代码语言:javascript
复制
            advertisedHost: 10.0.0.200
            advertisedPort: 30123

在使用负载均衡器时(假设它们在您的环境中受支持),您通常会希望使用负载均衡器地址,该地址将自动设置为通告的主机/端口。除此之外,您的YAML看起来不错,但是可能缺少对负载均衡器的支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69752073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档