3.2. 在 OpenShift 中配置带有 Kafka 存储的 Service Registry
本节介绍如何在 OpenShift 中使用 AMQ Streams 为 Service Registry 配置基于 Kafka 的存储。kafkasql 存储选项使用带有内存 H2 数据库的 Kafka 存储。当为 OpenShift 上的 Kafka 集群配置 持久性存储时,这个存储选项适合生产环境。
您可以在现有 Kafka 集群中安装 Service Registry,或根据您的环境创建新的 Kafka 集群。
先决条件
- 您必须具有具有集群管理员访问权限的 OpenShift 集群。
- 您必须已安装了 Service Registry。请参阅 第 2 章 在 OpenShift 上安装 Service Registry。
- 您必须已安装了 AMQ Streams。请参阅 第 3.1 节 “从 OpenShift OperatorHub 安装 AMQ Streams”。
流程
- 在 OpenShift Container Platform Web 控制台中,使用具有集群管理员权限的账户登录。
如果您还没有配置 Kafka 集群,请使用 AMQ Streams 创建新的 Kafka 集群。例如,在 OpenShift OperatorHub 中:
- 点 Installed Operators,然后点 Red Hat Integration - AMQ Streams。
- 在 Provided APIs 下,点 Create Instance 来创建新的 Kafka 集群。
根据需要编辑自定义资源定义,然后点 Create。
警告默认示例创建了一个集群,这个集群带有 3 个 Zookeeper 节点,以及 3 个带有
临时存储的 Kafka 节点。此临时存储仅适用于开发和测试,不适用于生产环境。如需了解更多详细信息,请参阅在 OpenShift 中部署和升级 AMQ Streams。
- 集群就绪后,点 Provided APIs > Kafka > my-cluster > YAML。
在
status块中,生成bootstrapServers值的副本,稍后您将使用它来部署 Service 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 ...- 点 Installed Operators > Red Hat Integration - Service Registry > ApicurioRegistry > Create ApicurioRegistry。
粘贴到以下自定义资源定义中,但使用之前复制的
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'- 点 Create 并等待 OpenShift 上创建 Service Registry 路由。
点 Networking > Route 访问 Service Registry web 控制台的新路由。例如:
http://example-apicurioregistry-kafkasql.my-project.my-domain-name.com/