![](/img/trans.png)
[英]Kafka configure jaas using sasl.jaas.config on kubernetes
[英]Passing JAAS config to bitnami/kafka helm chart for SASL/PLAIN
目標:
我想將 bitnami/kafka helm chart 與啟用了 SASL 的 PLAIN 機制一起用於外部客戶端。 (client-broker、broker-broker、broker-zookeeper連接可以是PLAINTEXT機制)
我做了什么:
我在 values.yaml 文件中設置了配置參數:
superUsers: User:adminuser
auth.externalClientProtocol: sasl
auth.sasl.jaas.clientUsers:
- adminuser
- otheruser
auth.sasl.jaas.clientPasswords:
- adminuserpass
- otheruserpass
auth.sasl.jaas.interBrokerUser: adminuser
並保持其他參數不變。 但這似乎還不夠。 當我嘗試安裝圖表時,代理容器將退出 state。
問題 #1:這些配置參數是否足以設置我想要實現的目標? 這些不會為我創建 JAAS 配置文件嗎?
從 Kafka 文檔Kafka_SASL中,我必須為代理傳遞一個 JAAS 配置文件。 它可以通過sasl.jaas.config
配置參數來完成。 對我來說應該是這樣的:
listener.name.EXTERNAL.plain.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="adminuser" \
password="adminuserpass" \
user_adminuser="adminuserpass" \
user_otheruser="otheruserpass";
但在 bitnami/kafka.values.yaml 中似乎沒有任何可用的sasl.jaas.config
。
問題 #2:如果問題 #1 的答案是否定的,我如何傳遞這個 JAAS 配置文件值? 我應該為此使用config
還是extraEnvVars
?
謝謝!
這對我有用:
...
authorizerClassName: "kafka.security.authorizer.AclAuthorizer"
auth:
clientProtocol: sasl
externalClientProtocol: sasl
interBrokerProtocol: plaintext
sasl:
mechanisms: plain,scram-sha-256,scram-sha-512
interBrokerMechanism: plain
jaas:
clientUsers:
- yourusername
clientPasswords:
- yourpassword
....
我不知道為什么,但我必須設置 clientProtocol clientProtocol: sasl
否則,我得到java.io.IOException: /opt/bitnami/kafka/conf/kafka_jaas.conf (No such file or directory)
也,我沒有看到錯誤直到我設置image.debug: true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.