0

我已经按如下方式配置了外部侦听器和 ACL(它们是功能性的)

listeners:
 plain: {}
 external:
  type: loadbalancer
  tls: true
  authentication:
   type: scram-sha-512
authorization:
 type: simple

这托管在 AKS 群集上。从本地消费它确实已经工作并且也可以从集群内部生产,但使用publicIP:9094作为 bootstrapServers。

我想在集群内添加一个生产者并使用 9092 端口(BootstrapServers = "my-cluster-kafka-bootstrap:9092"我想像这样),但需要付出最少的努力(如果可能的话,即使没有 ACL,也没有任何身份验证,没有任何加密)。

会推荐什么?

先感谢您!

4

1 回答 1

0

所以感谢来自 Strimzi https://github.com/scholzj的 Jakub ,这是最小的配置

listeners:
  plain:
    authentication:
      type: scram-sha-512
  external:
    type: loadbalancer
    tls: true
    authentication:
      type: scram-sha-512
authorization:
  type: simple

C# 客户端看起来像这样

        var conf = new ProducerConfig
        {
            BootstrapServers = "my-cluster-kafka-bootstrap:9092",
            SecurityProtocol = SecurityProtocol.SaslPlaintext,
            SaslMechanism = SaslMechanism.ScramSha512,
            SaslUsername = "admin",
            SaslPassword = "xxx",
        };

解释是:

Kafka 整个集群只有一个授权配置。因此,对于所有听众来说,它要么是打开的,要么是关闭的。普通侦听器没有加密,但是如果您需要对外部侦听器进行授权,则需要在此处启用身份验证(因为没有身份验证,授权将拒绝一切)。

于 2020-08-07T09:30:43.450 回答