第 10 章 使用 User Operator 管理 Kafka 用户
当使用 KafkaUser 资源创建、修改或删除用户时,User Operator 可确保这些更改反映在 Kafka 集群中。
有关 KafkaUser 资源的更多信息,请参阅 KafkaUser 模式参考。
10.1. 配置 Kafka 用户 复制链接链接已复制到粘贴板!
使用 KafkaUser 资源的属性来配置 Kafka 用户。
您可以使用 oc apply 创建或修改用户,并使用 oc delete 删除现有用户。
例如:
-
oc apply -f <user_config_file> -
oc delete KafkaUser <user_name>
用户代表 Kafka 客户端。配置 Kafka 用户时,您可以启用客户端访问 Kafka 所需的用户身份验证和授权机制。使用的机制必须与等效的 Kafka 配置匹配。有关使用 Kafka 和 KafkaUser 资源保护对 Kafka 代理的访问的更多信息,请参阅 保护对 Kafka 代理的访问。
先决条件
- 正在运行的 Kafka 集群使用 mTLS 身份验证和 TLS 加密配置 Kafka 代理监听程序。
- 正在运行的用户 Operator (通常使用 Entity Operator 部署)。
流程
配置
KafkaUser资源。这个示例使用 ACL 指定 mTLS 身份验证和简单授权。
Kafka 用户配置示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 OpenShift 中创建
KafkaUser资源。oc apply -f <user_config_file>
oc apply -f <user_config_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 等待用户的就绪状态更改为
True:oc get kafkausers -o wide -w -n <namespace>
oc get kafkausers -o wide -w -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kafka 用户状态
NAME CLUSTER AUTHENTICATION AUTHORIZATION READY my-user-1 my-cluster tls simple True my-user-2 my-cluster tls simple my-user-3 my-cluster tls simple True
NAME CLUSTER AUTHENTICATION AUTHORIZATION READY my-user-1 my-cluster tls simple True my-user-2 my-cluster tls simple my-user-3 my-cluster tls simple TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 当
READY输出显示为True时,用户创建成功。如果
READY列留空,请从资源 YAML 或 User Operator 日志中获取有关状态的更多详细信息。消息提供有关当前状态原因的详细信息。
oc get kafkausers my-user-2 -o yaml
oc get kafkausers my-user-2 -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 具有
NotReady状态的用户详情Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,用户未就绪的原因是在
Kafka配置中没有启用简单的授权。用于简单授权的 Kafka 配置
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 Kafka 配置后,状态会显示用户就绪。
oc get kafkausers my-user-2 -o wide -w -n <namespace>
oc get kafkausers my-user-2 -o wide -w -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 用户的状态更新
NAME CLUSTER AUTHENTICATION AUTHORIZATION READY my-user-2 my-cluster tls simple True
NAME CLUSTER AUTHENTICATION AUTHORIZATION READY my-user-2 my-cluster tls simple TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 获取详细信息不会显示任何消息。
oc get kafkausers my-user-2 -o yaml
oc get kafkausers my-user-2 -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 具有
READY状态的用户的详情Copy to Clipboard Copied! Toggle word wrap Toggle overflow