【问题标题】:strimzi 0.14: Kafka broker failed authenticationsrimzi 0.14:Kafka 代理失败的身份验证
【发布时间】:2019-11-08 19:10:49
【问题描述】:

我尝试在 Kubernetes 集群中使用 Strimzi (0.14) 构建 Kafka 集群。

我使用srimzi自带的例子,即examples/kafka/kafka-persistent.yaml。

这个 yaml 文件如下所示:

apiVersion: kafka.strimzi.io/v1beta1
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    version: 2.3.0
    replicas: 3
    listeners:
      plain: {}
      tls: {}
    config:
      offsets.topic.replication.factor: 3
      transaction.state.log.replication.factor: 3
      transaction.state.log.min.isr: 2
      log.message.format.version: "2.3"
    storage:
      type: jbod
      volumes:
      - id: 0
        type: persistent-claim
        size: 12Gi
        deleteClaim: false
  zookeeper:
    replicas: 3
    storage:
      type: persistent-claim
      size: 9Gi
      deleteClaim: false
  entityOperator:
    topicOperator: {}
    userOperator: {}

kubectl apply -f examples/kafka/kafka-persistent.yaml

动物园管理员和卡夫卡经纪人都长大了。
但是,我在 kafka 代理日志中看到了错误: [SocketServer brokerId=1] Failed authentication with /10.244.5.94 (SSL handshake failed) (org.apache.kafka.common.network.Selector) [data-plane-kafka-network-thread-1-ListenerName(REPLICATION)-SSL-0]

有人知道如何解决这个问题吗?

【问题讨论】:

  • 可能导致此问题的原因之一是您的集群对服务域使用不同的 DNS 后缀(默认为 cluster-local)。但我需要更多日志来确认它。如果是这种情况,则需要找出正确的后缀,并在集群算子部署中使用环境变量KUBERNETES_SERVICE_DNS_DOMAIN 覆盖默认值。如果您执行到 Kafka 或 Zookeeper pod 之一并执行 hostname -f 它应该显示后缀。
  • 谢谢雅库布。是后缀问题。重建集群算子后,一切正常。

标签: kubernetes apache-kafka strimzi


【解决方案1】:

可能导致此问题的原因之一是您的集群对服务域使用不同的 DNS 后缀(默认为 .cluster.local)。您需要找出正确的 DNS 后缀,并在 Strimzi Cluster Operator 部署中使用环境变量 KUBERNETES_SERVICE_DNS_DOMAIN 来覆盖默认值。

如果您执行到 Kafka 或 Zookeeper pod 之一并执行 hostname -f,它应该会显示完整的主机名,您可以从中识别后缀。

(我从 cmets 粘贴了这个作为完整答案,因为它有助于解决问题。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 1970-01-01
    • 2019-07-21
    • 2014-03-14
    • 2018-03-10
    相关资源
    最近更新 更多