第 2 章 部署控制台


使用专用操作器部署控制台。

安装 Operator 后,您可以创建控制台的实例。对于每个控制台实例,Operator 还会创建一个私有 Prometheus 实例来从 Kafka 集群中提取指标,该指标在控制台中显示。

2.1. 部署先决条件

要部署控制台,您需要以下内容:

  • OpenShift 4.12 和 4.14 到 4.17 集群。
  • oc 命令行工具已安装并配置为连接到 OpenShift 集群。
  • 使用具有 cluster-admin 权限的账户(如 system-admin )访问 OpenShift 集群。
  • 由 Apache Kafka 的 Streams 管理的 Kafka 集群,在 OpenShift 集群上运行。

提供了用于安装由 Streams for Apache Kafka 管理的 Kafka 集群的示例文件,以及代表控制台的 Kafka 用户。这些文件提供了设置并尝试控制台的最快方法,但您也可以将自己的流用于 Apache Kafka 部署。

2.1.1. 使用您自己的 Kafka 集群

如果您将自己的流用于 Apache Kafka 部署,请通过与控制台提供的示例部署文件进行比较来验证配置。

对于每个 Kafka 集群,用来安装集群的 Kafka 资源必须配置以下内容:

  • 有足够的授权来连接控制台
  • 控制台能够显示某些数据的指标属性

    指标配置必须与示例 Kafka (console-kafka)和 ConfigMap (console-kafka-metrics)资源中指定的属性匹配。

2.1.2. 部署新的 Kafka 集群

如果您已经安装了 Apache Kafka 的 Streams,但希望创建新 Kafka 集群以用于控制台,则可使用部署资源示例来帮助您入门。

这些资源创建以下内容:

  • KRaft 模式中带有 SCRAM-SHA-512 身份验证的 Kafka 集群。
  • Strimzi KafkaNodePool 资源,用于管理集群节点。
  • 一个 KafkaUser 资源,以启用到 Kafka 集群的验证和授权控制台连接。

040-KafkaUser-console-kafka-user1.yaml 文件中的 KafkaUser 自定义资源包括所需的 ACL 类型,以便为 Kafka 集群提供控制台的授权访问权限。

最低所需的 ACL 规则配置如下:

  • 描述,DescribeConfigs 权限
  • 为所有 主题 资源 读取描述DescribeConfigs 权限
  • 为所有 组资源 读取描述 权限
注意

为确保控制台具有正常工作所需的访问权限,必须为每个 Kafka 集群连接中使用的主体配置最小授权级别。具体权限可能会根据所使用的授权框架而有所不同,如 ACL、Keycloak 授权、OPA 或自定义解决方案。

在配置 KafkaUser 身份验证和授权时,请确保它们与对应的 Kafka 配置匹配:

  • KafkaUser.spec.authentication 应该与 Kafka.spec.kafka.listeners[*].authentication 匹配。
  • KafkaUser.spec.authorization 应该与 Kafka.spec.kafka.authorization 匹配。

先决条件

  • OpenShift 4.12 和 4.14 到 4.17 集群。
  • 使用具有 cluster-admin 权限的账户(如 system:admin )访问 OpenShift Container Platform Web 控制台。
  • oc 命令行工具已安装并配置为连接到 OpenShift 集群。

流程

  1. 下载并提取控制台安装工件。

    工件包含在安装以及 Apache Kafka 软件下载页面的 Streams 中提供的示例文件。

    工件为安装 Kafka 集群提供部署 YAML 文件。使用位于 examples/console/resources/kafka 中的示例安装文件。

  2. 设置环境变量以更新安装文件:

    export NAMESPACE=kafka 
    1
    
    export LISTENER_TYPE=route 
    2
    
    export CLUSTER_DOMAIN=<domain_name> 
    3
    1
    要在其上部署 Kafka Operator 的命名空间。
    2
    用于将 Kafka 公开给控制台的监听程序类型。
    3
    OpenShift 集群的集群域名。

    在本例中,namespace 变量定义为 kafka,侦听器类型是 route

  3. 安装 Kafka 集群。

    运行以下命令以应用 YAML 文件,并将 Kafka 集群部署到定义的命名空间中:

    cat examples/console/resources/kafka/*.yaml | envsubst | kubectl apply -n ${NAMESPACE} -f -

    此命令读取 YAML 文件,替换命名空间环境变量,并将生成的配置应用到指定的 OpenShift 命名空间。

  4. 检查部署的状态:

    oc get pods -n kafka

    输出显示 Operator 和集群就绪度

    NAME                              READY   STATUS   RESTARTS
    strimzi-cluster-operator          1/1     Running  0
    console-kafka-console-nodepool-0  1/1     Running  0
    console-kafka-console-nodepool-1  1/1     Running  0
    console-kafka-console-nodepool-2  1/1     Running  0

    • console-kafka 是集群的名称。
    • console-nodepool 是节点池的名称。

      节点 ID 标识创建的节点。

      使用默认部署,您要安装三个节点。

      READY 显示就绪/预期的副本数。当 STATUS 显示为 Running 时,部署成功。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部