【问题标题】:Strimzi kafka accessing it privately with in GKEStrimzi kafka 在 GKE 中私下访问它
【发布时间】:2021-11-08 11:34:54
【问题描述】:

我有两个集群,

一个带有我的应用程序微服务的集群和另一个安装了 strimzi kafka 的集群。两者都是私有 GKE 集群。

我的挑战正是如何从我的应用程序连接到这个 kafka。大约有 10 个运行的微服务必须连接到 kafka。

我现在有一个方法,将 Strimzi kafka 作为 Nodeport 服务并在应用程序代码中提供 Ip 和 nodeIp。

这种方法的问题在于,如果 GKE 节点自动更新,我将不得不重新配置代码。

另外一个关键条件是,Kafka 应该只能由我们的应用程序访问。它不应该在公共 Internet 上可用。

【问题讨论】:

    标签: apache-kafka strimzi


    【解决方案1】:

    我有类似的情况以及我是如何解决的。

    创建可从另一个 AKS 群集访问的内部负载平衡器。还允许访问特定子网。

    Strimzi 支持外部化引导服务。

    示例:

    ...
    spec:
      kafka:
        replicas: 3
        listeners:
          plain: {}
          tls: {}
          external:
            type: loadbalancer
            tls: false
        ...
        template:
          externalBootstrapService:
              metadata:
                annotations:
                  service.beta.kubernetes.io/azure-load-balancer-internal: "true"
                  service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "apps-subnet"
          perPodService:
            metadata:
              annotations:
                service.beta.kubernetes.io/azure-load-balancer-internal: "true"
                service.beta.kubernetes.io/azure-load-balancer-internal-subnet: "apps-subnet"
    
    

    有关更多详细信息,您可以查看此链接中的内部负载平衡器部分: https://strimzi.io/blog/2019/05/13/accessing-kafka-part-4/

    【讨论】:

    • 您能否详细说明@amjad .?您为设置编辑的所有文件..
    • 我希望您在设置 srimzi 运算符时遵循教程。部署 Strimzi 操作员后,您需要在创建 kafka-cluster 时传递上述配置,如下所示:strimzi.io/docs/operators/latest/… 我也更新了我的答案。
    • 您正在使用的 strimzi kafka 版本是什么? @amjad。
    • 0.24.0是srimzi版本
    • Kafka 已启动并使用内部负载平衡 IP 运行,但无法与其他集群通信。知道可能是什么问题吗?
    猜你喜欢
    • 2021-10-27
    • 2022-06-24
    • 2021-12-13
    • 1970-01-01
    • 2021-12-01
    • 2020-01-31
    • 2019-04-05
    • 2021-03-03
    • 1970-01-01
    相关资源
    最近更新 更多