Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kafka在kubernetes上使用sasl.jaas.config配置jaas_Kubernetes_Apache Kafka_Kubernetes Helm - Fatal编程技术网

Kafka在kubernetes上使用sasl.jaas.config配置jaas

Kafka在kubernetes上使用sasl.jaas.config配置jaas,kubernetes,apache-kafka,kubernetes-helm,Kubernetes,Apache Kafka,Kubernetes Helm,我用的是这个舵图: 这些覆盖在values.yaml中 configurationOverrides: advertised.listeners: |- EXTERNAL://kafka-${KAFKA_BROKER_ID}.host-removed:$((31090 + ${KAFKA_BROKER_ID})) listener.security.protocol.map: |- PLAINTEXT:SASL_PLAINTEXT,EXTERNAL:SASL_PLAINT

我用的是这个舵图:

这些覆盖在values.yaml中

configurationOverrides:
  advertised.listeners: |-
    EXTERNAL://kafka-${KAFKA_BROKER_ID}.host-removed:$((31090 + ${KAFKA_BROKER_ID}))
  listener.security.protocol.map: |-
    PLAINTEXT:SASL_PLAINTEXT,EXTERNAL:SASL_PLAINTEXT
  sasl.enabled.mechanisms: SCRAM-SHA-256
  auto.create.topics.enable: false
  inter.broker.listener.name: PLAINTEXT
  sasl.mechanism.inter.broker.protocol: SCRAM-SHA-256
  listener.name.EXTERNAL.scram-sha-256.sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="user" password="password";
根据本文件:

(快速总结)

问题是,当我启动卡夫卡时,会出现以下错误:

java.lang.IllegalArgumentException: Could not find a 'KafkaServer' or 'plaintext.KafkaServer' entry in the JAAS configuration. System property 'java.security.auth.login.config' is not set
根据优先顺序,如果未设置上述配置,则应使用静态jass文件

If JAAS configuration is defined at different levels, the order of precedence used is:
  • 代理配置属性listener.name.{listenerName}.{saslMechanism}.sasl.jaas.config
  • {listenerName}.静态JAAS配置的KafkaServer部分
  • 静态JAAS配置的KafkaServer部分
helm图表不支持配置此jaas文件的方法,因此使用此属性似乎是理想的方法,我只是不知道哪些配置不正确


注意:如果我禁用所有SASL并只使用纯文本,集群就可以正常工作,但在实际环境中这不是很好。

我们定义了两个侦听器:
纯文本
外部
。您已将两者映射到
SASL\u纯文本

这真的是你想做的吗?或者您希望
纯文本
不需要SASL而只是纯文本

  • 如果您真的希望两者都是SASL,那么它们都需要JAAS配置。在您的问题中,我只看到外部的JAAS配置:

    listener.name.EXTERNAL.scram-sha-256.sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="user" password="password";
    
    由于您已经将
    明文
    映射到SASL_明文,因此还需要JAAS配置。您可以使用以下命令指定它,例如:

     listener.name.PLAINTEXT.scram-sha-256.sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="user" password="password";
    
  • 如果希望
    纯文本
    侦听器实际上是没有SASL的纯文本,则需要更新侦听器映射:

    listener.security.protocol.map: |-
      PLAINTEXT:PLAINTEXT,EXTERNAL:SASL_PLAINTEXT
    
listener.security.protocol.map: |-
  PLAINTEXT:PLAINTEXT,EXTERNAL:SASL_PLAINTEXT