strimzi 0.14: сбой аутентификации брокера Kafka
Я попытался построить кластер 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
Воспитывались и зоопарки, и брокеры кафки.
Однако я видел ошибки в журналах брокера 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 ответ
Одна из причин, по которой это может быть, - это то, что ваш кластер использует другой DNS-суффикс для служебных доменов (по умолчанию .cluster.local
). Вам нужно найти правильный DNS-суффикс и использовать переменную средыKUBERNETES_SERVICE_DNS_DOMAIN
в развертывании Strimzi Cluster Operator, чтобы переопределить значение по умолчанию.
Если вы запускаете один из модулей Kafka или Zookeeper и выполняете hostname -f
он должен показать вам полное имя хоста, по которому вы можете определить суффикс.
(Я вставил это из комментариев как полный ответ, так как это помогло решить вопрос.)