7.4. 使用 User Operator
当您使用 KafkaUser
资源创建、修改或删除用户时,用户 Operator 可确保这些更改在 Kafka 集群中反映出来。
有关 KafkaUser
资源的更多信息,请参阅 KafkaUser
模式参考。
部署 User Operator
您可以使用 Cluster Operator 或独立 Operator 部署 User Operator。您可以在不由 Cluster Operator 管理的 Kafka 集群中使用独立 User Operator。
有关部署说明,请查看以下操作:
要部署独立 User Operator,您需要设置环境变量以连接到 Kafka 集群。如果要使用 Cluster Operator 部署 User Operator,则不需要设置这些环境变量,因为 Cluster Operator 将设置它们。
7.4.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 代理的访问。
先决条件
- 使用 mTLS 身份验证和 TLS 加密,运行带有 Kafka 代理监听程序 的 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 True
Copy 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 yaml
Copy 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 True
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取详细信息不会显示任何信息。
oc get kafkausers my-user-2 -o yaml
oc get kafkausers my-user-2 -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有关具有
READY
状态的用户的详情Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.4.2. 使用资源请求和限值配置 User Operator 复制链接链接已复制到粘贴板!
您可以将资源(如 CPU 和内存)分配给 User Operator,并为其消耗的资源数量设置限值。
先决条件
- Cluster Operator 正在运行。
流程
根据需要,在编辑器中更新 Kafka 集群配置:
oc edit kafka MY-CLUSTER
oc edit kafka MY-CLUSTER
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
Kafka
资源中的spec.entityOperator.userOperator.resources
属性中,为 User Operator 设置资源请求和限值。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 保存文件并退出编辑器。Cluster Operator 会自动应用更改。