【问题标题】:Strimzi Kafka exposed via ingress in GKEStrimzi Kafka 通过 GKE 中的入口暴露
【发布时间】:2022-06-24 04:15:21
【问题描述】:

我在 GKE 集群中使用 Strimzi 运算符创建了一个 kafka 集群。我需要将它暴露在入口上,以允许外部团队与它进行交互以用于开发目的。

我试图通过互联网公开它,但我似乎无法在 GKE 中找到正确的配置。它需要进行 SSL-Passthrough。 GKE 支持吗?

我尝试了多种配置,但没有分配 IP 地址。

这是我正在使用的集群配置。

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: cmc-cluster
spec:
  kafka:
    version: 2.8.0
    replicas: 3
    listeners:
      - name: test1
        port: 9098
        type: ingress
        tls: true
        authentication:
          type: scram-sha-512
        configuration:
          bootstrap:
            host: kafka-bootstrap.dev.testdomain.io
            annotations:
              kubernetes.io/ingress.class: nginx
          brokers:
            - host: kafka-broker0.dev.testdomain.io
              broker: 0
              annotations:
                kubernetes.io/ingress.class: nginx
            - host: kafka-broker1.dev.testdomain.io
              broker: 1
              annotations:
                kubernetes.io/ingress.class: nginx
            - host: kafka-broker2.dev.testdomain.io
              broker: 2
              annotations:
                kubernetes.io/ingress.class: nginx
          brokerCertChainAndKey:
            secretName: kafka-dev-tls
            certificate: tls.crt
            key: tls.key
    config:
      auto.create.topics.enable: "false"
    authorization:
      type: simple

谁能帮帮我?

【问题讨论】:

    标签: google-cloud-platform apache-kafka google-kubernetes-engine nginx-ingress strimzi


    【解决方案1】:

    我设法找到了解决问题的方法。似乎它不适用于入口,因为 GCP 入口是仅使用 HTTP/HTTPS 的 L7 负载平衡器。所以我不得不利用允许 TCP 隧道的服务负载均衡器 (L4)。

    只需要修改externalBootstrapServiceperPodService 中的一些注释,并将它们移动到特定的侦听器中。

    这是我的新配置。

    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    metadata:
      name: cmc-cluster
    spec:
      kafka:
        version: 2.8.0
        replicas: 3
        listeners:
          - name: test1
            port: 9098
            type: loadbalancer
            tls: true
            authentication:
              type: scram-sha-512
            configuration:
              bootstrap:
                loadBalancerIP: <ip bootstrap>
              brokers:
                - broker: 0
                  advertisedHost: kafka-broker0.dev.testdomain.io
                  loadBalancerIP: <ip broker-0>
                - broker: 1
                  advertisedHost: kafka-broker1.dev.testdomain.io
                  loadBalancerIP: <ip broker-1>
                - broker: 2
                  advertisedHost: kafka-broker2.dev.testdomain.io
                  loadBalancerIP: <ip broker-2>
              brokerCertChainAndKey:
                secretName: kafka-dev-tls
                certificate: tls.crt
                key: tls.key
        config:
          auto.create.topics.enable: "false"
        authorization:
          type: simple
    

    【讨论】:

      猜你喜欢
      • 2021-10-27
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-14
      相关资源
      最近更新 更多