стримзи 0.14: брокеру Кафки не удалось пройти аутентификацию - PullRequest
0 голосов
/ 31 октября 2019

Я пытался построить кластер Kafka с использованием Strimzi (0.14) в кластере Kubernetes.

Я использую примеры, поставляемые со strimzi, т.е. 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

Были запущены как zookeepers, так и брокеры kafka.
Однако я видел ошибки в логах брокера 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]

Кто-нибудь знает, как решить проблему?

1 Ответ

0 голосов
/ 08 ноября 2019

Это может быть вызвано тем, что в вашем кластере используется другой DNS-суффикс для служебных доменов (по умолчанию .cluster.local). Вам нужно найти правильный DNS-суффикс и использовать переменную среды KUBERNETES_SERVICE_DNS_DOMAIN в развертывании оператора кластера Strimzi, чтобы переопределить значение по умолчанию.

Если вы выполняете в один из модулей Kafka или Zookeeper и делаете hostname -f, он должен показать вам полное имя хоста, по которому вы можете определить суффикс.

(я вставил это изкомментарии как полный ответ, так как это помогло решить вопрос.)

...