我正在尝试在现有集群(3.1.0 bitnami helm chart)上逐步启用ACL,该集群的配置如下:
listeners=INTERNAL://:9093,CLIENT://:9092
listener.security.protocol.map=INTERNAL:PLAINTEXT,CLIENT:PLAINTEXT
advertised.listeners=CLIENT://$(MY_POD_NAME)-k8s.dev.host.com:4430,INTERNAL://$(MY_POD_NAME).message-broker-dev-kafka-headless.message-broker-dev.svc.cluster.local:9093
kafka-k8s.dev.host.com:4430在内部转发到9092上的CLIENT侦听器。现在,我们在LB上执行TLS终止,因此在CLIENT侦听器上使用PLAINTEXT,但使用SSL安全协议:
kafkacat -b kafka-k8s.dev.host.com:4430 -X security.protocol=SSL -L
计划是添加2个需要SASL身份验证的新侦听器,将客户端迁移到侦听器并弃用现有侦听器。新配置如下所示:
listeners=INTERNAL://:9093,CLIENT://:9092,SASL_INTERNAL://:9095,SASL_CLIENT://:9094
listener.security.protocol.map=INTERNAL:PLAINTEXT,CLIENT:PLAINTEXT,SASL_INTERNAL:SASL_PLAINTEXT,SASL_CLIENT:SASL_PLAINTEXT
advertised.listeners=CLIENT://$(MY_POD_NAME)-k8s.dev.host.com:4430,INTERNAL://$(MY_POD_NAME).message-broker-dev-kafka-headless.message-broker-dev.svc.cluster.local:9093,SASL_CLIENT://$(MY_POD_NAME)-sasl-k8s.dev.host.com:4430,SASL_INTERNAL://$(MY_POD_NAME).message-broker-dev-kafka-headless.message-broker-dev.svc.cluster.local:9095
allow.everyone.if.no.acl.found=true
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
sasl.enabled.mechanisms=PLAIN,SCRAM-SHA-256,SCRAM-SHA-512
sasl.mechanism.inter.broker.protocol=PLAIN
在创建一些SCRAM-SHA-512用户并将ACL应用于现有主题之后,SASL_INTERNAL侦听器上的一切都正常运行,但SASL_CLIENT上的一切都不正常:
第一个
kafka-sasl-k8s.dev.host.com:4430在内部被转发到9094上的SASL_CLIENT侦听器(并且再次在LB上使用TLS终止,因此使用SASL_SSL而不是SASL_PLAINTEXT)现在,我不能完全确定我是否错过了kafka配置或弄乱了网络配置。
先谢谢你。
1条答案
按热度按时间8hhllhi21#
自动应答,是网络问题。
kafka-sasl-k8s.dev.host.com:4430正在向9092发送流量,而不是按预期向9094发送流量