第 1 章 部署概述
AMQ Streams 简化了在 OpenShift 集群中运行 Apache Kafka 的过程。
本指南提供有关部署和管理 AMQ Streams 的说明。部署选项和步骤使用 AMQ Streams 中包含的示例安装文件进行。虽然指南突出显示了重要的配置注意事项,但它并不涵盖所有可用选项。要深入了解 Kafka 组件配置选项,请参阅 AMQ Streams 自定义资源 API 参考。
除了部署说明外,指南还提供了部署前和部署后指导。它涵盖了设置并保护对 Kafka 集群的客户端访问。另外,它探索额外的部署选项,如指标集成、分布式追踪和集群管理工具,如 Cruise Control 和 AMQ Streams Drain Cleaner。您还将发现有关管理 AMQ Streams 和微调 Kafka 配置的建议,以获得最佳性能。
AMQ Streams 和 Kafka 都提供了升级说明,以帮助保持部署最新。
AMQ Streams 设计为与所有类型的 OpenShift 集群兼容,无论其发行版无关。无论您的部署涉及公有云或私有云,还是要设置本地开发环境,本指南中的说明适用于所有情况。
1.1. AMQ Streams 自定义资源 复制链接链接已复制到粘贴板!
使用 AMQ Streams 将 Kafka 组件部署到 OpenShift 集群可以通过自定义资源的应用程序进行配置。这些自定义资源作为自定义资源定义(CRD)添加的 API 实例创建,以扩展 OpenShift 资源。
CRD 充当描述 OpenShift 集群中的自定义资源的配置说明,由 AMQ Streams 提供,用于部署中使用的每个 Kafka 组件,以及用户和主题。CRD 和自定义资源被定义为 YAML 文件。AMQ Streams 发行版提供了 YAML 文件示例。
CRD 还允许 AMQ Streams 资源从原生 OpenShift 功能中获益,如 CLI 访问和配置验证。
1.1.1. AMQ Streams 自定义资源示例 复制链接链接已复制到粘贴板!
CRD 需要在集群中一次性安装,以定义用于实例化和管理 AMQ Streams 特定资源的 schema。
在安装 CRD 中添加新的自定义资源类型后,您可以根据规格创建资源实例。
根据集群设置,安装通常需要集群管理员特权。
对管理自定义资源的访问仅限于 AMQ Streams 管理员。如需更多信息,请参阅 第 4.6 节 “设计 AMQ Streams 管理员”。
在 OpenShift 集群中,CRD 定义了一个新的资源 kind,如 kind:Kafka。
Kubernetes API 服务器允许根据类型创建自定义资源,并通过 CRD 了解在添加到 OpenShift 时如何验证和存储自定义资源。
每个 AMQ Streams 特定的自定义资源符合为资源的类型的 CRD 定义的架构。AMQ Streams 组件的自定义资源具有通用配置属性,它们在 spec 下定义。
要了解 CRD 和自定义资源之间的关系,请参阅 Kafka 主题的 CRD 示例。
Kafka 主题 CRD
- 1
- 主题 CRD 的元数据、名称和标签来标识 CRD。
- 2
- 此 CRD 的规格,包括组(域)名称、复数名称和受支持的模式版本,它们用于 URL 用于访问主题的 API。其他名称用于识别 CLI 中的实例资源。例如,
oc get kafkatopic my-topic或oc get kafkatopics。 - 3
- CLI 命令可以使用短名称。例如,
oc get kt是oc get kafkatopic的缩写形式。 - 4
- 对自定义资源使用
get命令时显示的信息。 - 5
- CRD 的当前状态,如资源的 schema 引用 中所述。
- 6
- openAPIV3Schema 验证提供了创建主题自定义资源的验证。例如,主题至少需要一个分区和一个副本。
您可以识别 AMQ Streams 安装文件提供的 CRD YAML 文件,因为文件名包含一个索引号,后跟 'Crd'。
以下是 KafkaTopic 自定义资源的对应示例。
Kafka 主题自定义资源
自定义资源可以通过平台 CLI 应用到集群。创建自定义资源时,它使用与 Kubernetes API 内置资源相同的验证。
创建 KafkaTopic 自定义资源后,主题 Operator 会收到通知,并在 AMQ Streams 中创建对应的 Kafka 主题。