搜索

3.2. 使用 OpenShift 上的 Kafka 存储配置 Apicurio Registry

download PDF

本节介绍如何在 OpenShift 中使用 AMQ Streams 为 Apicurio Registry 配置基于 Kafka 的存储。kafkasql 存储选项使用带有内存 H2 数据库的 Kafka 存储进行缓存。当为 OpenShift 上的 Kafka 集群配置了 持久性存储时,此存储选项适用于生产环境。

您可以在现有 Kafka 集群中安装 Apicurio Registry,或根据您的环境创建新 Kafka 集群。

前提条件

流程

  1. 在 OpenShift Container Platform Web 控制台中,使用具有集群管理员特权的帐户登录。
  2. 如果您还没有配置 Kafka 集群,请使用 AMQ Streams 创建新的 Kafka 集群。例如,在 OpenShift OperatorHub 中:

    1. Installed Operators,然后点 Red Hat Integration - AMQ Streams
    2. Provided APIs 下,然后点 Kafka,点 Create Instance 创建新的 Kafka 集群。
    3. 根据需要编辑自定义资源定义,然后点 Create

      警告

      默认示例创建了一个集群,这个集群带有 3 个 Zookeeper 节点,以及 3 个带有 临时存储的 Kafka 节点。此临时存储仅适用于开发和测试,不适用于生产环境。如需了解更多详细信息,请参阅在 OpenShift 中部署和管理 AMQ Streams

  3. 集群就绪后,点 Provided APIs > Kafka > my-cluster > YAML
  4. status 块中,复制 bootstrapServers 值,稍后您将使用它来部署 Apicurio Registry。例如:

    status:
      ...
      conditions:
      ...
      listeners:
        - addresses:
            - host: my-cluster-kafka-bootstrap.my-project.svc
              port: 9092
          bootstrapServers: 'my-cluster-kafka-bootstrap.my-project.svc:9092'
          type: plain
      ...
  5. Installed Operators > Red Hat Integration - Service Registry > ApicurioRegistry > Create ApicurioRegistry
  6. 粘贴以下自定义资源定义,但使用您之前复制的 bootstrapServers 值:

    apiVersion: registry.apicur.io/v1
    kind: ApicurioRegistry
    metadata:
      name: example-apicurioregistry-kafkasql
    spec:
      configuration:
        persistence: 'kafkasql'
        kafkasql:
          bootstrapServers: 'my-cluster-kafka-bootstrap.my-project.svc:9092'
  7. Create 并等待 OpenShift 上创建 Apicurio Registry 路由。
  8. Networking > Route 访问 Apicurio Registry web 控制台的新路由。例如:

    http://example-apicurioregistry-kafkasql.my-project.my-domain-name.com/
  9. 要配置 Apicurio Registry 用来存储数据的 Kafka 主题,请点 Installed Operators > Red Hat Integration - AMQ Streams > Provided APIs > Kafka Topic > kafkasql-journal > YAML。例如:

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaTopic
    metadata:
      name: kafkasql-journal
      labels:
        strimzi.io/cluster: my-cluster
      namespace: ...
    spec:
      partitions: 3
      replicas: 3
      config:
        cleanup.policy: compact
    警告

    您必须使用压缩清理策略配置 Apicurio Registry 使用的 Kafka 主题(默认为 kafkasql-journal ),否则可能会出现数据丢失。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.