我尝试在kubernetes集群中使用strimzi(0.14)构建一个kafka集群。
我使用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` Zookeeper和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条答案
按热度按时间pn9klfpd1#
可能导致这种情况的原因之一是,如果集群对服务域使用不同的dns后缀(默认值为
.cluster.local
). 您需要找到正确的dns后缀并使用环境变量KUBERNETES_SERVICE_DNS_DOMAIN
在strimzi集群操作符部署中覆盖默认值。如果你进入一个Kafka或Zookeeper的吊舱
hostname -f
它应该向您显示完整的主机名,您可以从中识别后缀。(我从评论中粘贴了这个作为完整答案,因为它有助于解决问题。)