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 下,然后选择 Kafka,点 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/