2.2.2.3. 获取 Kafka 凭证
要将应用程序或服务连接到 Kafka 实例,您必须首先获取以下 Kafka 凭证:
- 获取 bootstrap URL。
- 使用凭证(用户名和密码)创建服务帐户。
对于 OpenShift Streams,身份验证协议是 SASL_SSL。
前提条件
- 您已创建了 Kafka 实例,其状态为 ready。
- 您已创建了 Kafka 主题。
流程
获取 Kafka Broker URL(Bootstrap URL):
RHOAS 状态
这个命令返回类似如下的输出:
Kafka --------------------------------------------------------------- ID: 1ptdfZRHmLKwqW6A3YKM2MawgDh Name: my-kafka Status: ready Bootstrap URL: my-kafka--ptdfzrhmlkwqw-a-ykm-mawgdh.kafka.devshift.org:443
要获得用户名和密码,请使用以下语法创建服务帐户:
rhOAS service-account create --name "<account-name>" --file-format json
注意在创建服务帐户时,您可以选择 文件格式和位置来保存凭证。如需更多信息,请键入
rhoas service-account create --help
例如:
rhOAS service-account create --name "my-service-acct" --file-format json
服务帐户已创建,并保存到 JSON 文件中。
要验证服务帐户凭证,请查看
credentials.json
文件:cat credentials.json
这个命令返回类似如下的输出:
{"clientID":"srvc-acct-eb575691-b94a-41f1-ab97-50ade0cd1094", "password":"facf3df1-3c8d-4253-aa87-8c95ca5e1225"}
授予向 Kakfa 主题发送和接收信息的权限。使用以下命令,其中
clientID
是credentials.json
文件中提供的值(第 3 步)。rhoas kafka acl grant-access --producer --consumer --service-account $CLIENT_ID --topic test-topic --group all
例如:
rhoas kafka acl grant-access --producer --consumer --service-account srvc-acct-eb575691-b94a-41f1-ab97-50ade0cd1094 --topic test-topic --group all