You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GKE私有集群跨集群访问Strimzi Kafka的私有方案问询

适配方案

以下3种方案均满足Kafka不公网暴露、访问地址稳定的要求,可根据你的集群实际情况选择:

方案1:Internal LoadBalancer(ILB)暴露 + 跨集群DNS解析

这是最适配Strimzi生态的方案,全程内网访问无公网暴露风险:

  • 首先确认两个GKE集群所在VPC已经打通(同VPC或已配置VPC对等),防火墙规则放通两个集群网段的Kafka访问端口
  • 修改Strimzi Kafka自定义资源,添加internalLoadBalancer类型的监听器,配置示例:
spec:
  kafka:
    listeners:
      - name: internal
        port: 9093
        type: internalLoadBalancer
        tls: true
        # 可配置GCP ILB的所属子网、安全标签等属性
        configuration:
          loadBalancerAnnotations:
            networking.gke.io/load-balancer-type: "Internal"
  • 配置跨集群DNS解析:在微服务集群的CoreDNS中添加存根域,将Kafka集群的服务域名解析指向Kafka集群的CoreDNS服务IP,微服务直接使用Strimzi自动生成的Kafka服务域名连接即可,完全不需要感知底层节点或负载均衡的IP变动

方案2:通过GCP Private Service Connect(PSC)共享服务

适合需要严格隔离两个集群网络权限的场景:

  • 在Kafka集群侧将Strimzi Kafka服务发布为PSC私有服务,仅允许微服务所在的项目/网段消费
  • 在微服务集群侧创建对应PSC的内网访问端点,端点会分配固定内网IP
  • 微服务直接使用该固定IP或绑定的内网域名访问Kafka即可,Kafka集群节点更新、IP变动完全不会影响访问配置

方案3:NodePort场景下的固定内网转发规则

如果你暂时不想修改Kafka侧的NodePort配置,可通过GCP底层网络配置解决IP变动问题:

  • 给Kafka集群的所有节点绑定固定节点标签,配置GCP内网目标池自动加入所有带该标签的节点
  • 创建内网转发规则,绑定固定内网IP,指向上述目标池
  • 微服务使用该固定转发IP+NodePort端口访问Kafka,GKE节点更新时会自动将新节点加入目标池,无需修改应用配置
注意事项
  • 所有方案的防火墙规则都需要严格限制访问源为微服务集群的网段,避免非授权内网访问
  • 调整Strimzi监听器配置后,需确认advertised.listeners参数的值为对外暴露的稳定IP/域名,避免客户端连接报错
  • 若Kafka开启了身份认证,需同步完成跨集群的认证配置适配

内容的提问来源于stack exchange,提问作者Nishchal Dinesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:30:02