首页 > 解决方案 > 在kafka桥srimzi上启用用户名和密码

问题描述

我正在尝试将用户名和密码添加到我在 strimzi 上的 kafka 网桥..我不知道我是否配置正确,如果我配置正确,为什么我无法使用我的用户名和密码访问这是我的步骤做过:

秘密.yaml

apiVersion: v1
kind: Secret
metadata:
  name: bridgeuser
type: Opaque
data:
  my-password: cmdoR0ZETColMTY3Cg==

桥接器.yaml

apiVersion: kafka.strimzi.io/v1alpha1
kind: KafkaBridge
metadata:
  name: my-bridge
spec:
  replicas: 1
  bootstrapServers: my-cluster-kafka-bootstrap:9092
  http:
    port: 8080
  authentication:
      type: plain
      username: user
      passwordSecret:
        secretName: bridgeuser
        password: my-password

这是产生消息的卷曲:

curl -X POST  -u user:rghGFDL*%167 https://localhost:8080/topics/topic   -H 'content-type: application/vnd.kafka.json.v2+json'   -d '{"records": [{"key": "key-1","value": "welcome !!"},{"key": "key-2","value": "welcome !!"}]}'

当我这样尝试时,我得到了:

{
    "offsets": [
        {
            "error_code": 500,
            "message": "Unexpected handshake request with client mechanism PLAIN, enabled mechanisms are []"
        },
        {
            "error_code": 500,
            "message": "Unexpected handshake request with client mechanism PLAIN, enabled mechanisms are []"
        }
    ]
}

如果有人可以帮助并提前感谢

标签: curlkubernetesapache-kafkakafka-consumer-apistrimzi

解决方案


HTTP 桥目前不支持对 HTTP 接口进行任何身份验证。例如,您可以将它与代理或 API 网关结合使用来获得它。您在那里配置的身份验证是 Bridge 和 Kafka 集群之间的身份验证。

因此,-u user:rghGFDL*%167您的curl请求中的 将被忽略。并且您与 Kafka 的连接失败,因为您的代理似乎未配置为 SASL PLAIN 身份验证(实际上,它似乎没有启用任何 SASL 身份验证,正如Unexpected handshake request with client mechanism PLAIN, enabled mechanisms are []消息所示)。


推荐阅读