第 9 章 配置部署
配置和管理 Apache Kafka 部署的流,以满足您的 Apache Kafka 自定义资源的精确需求。Apache Kafka 的 Streams 提供了每个发行版本的示例自定义资源,允许您配置和创建支持的 Kafka 组件实例。通过将自定义资源配置为根据您的特定要求包含其他功能来微调部署。
使用自定义资源配置并创建以下组件的实例:
- Kafka 集群
- Kafka Connect 集群
- Kafka MirrorMaker
- Kafka Bridge
- Sything Control
您可以使用配置来管理您的实例或修改您的部署,以引入其他功能。有时,新功能会通过功能门(通过 Operator 配置进行控制)。
Apache Kafka 自定义资源 API Reference 的 Streams 描述了您可以在配置中使用的属性。
重要的 Kafka 配置选项
通过配置 Kafka 资源,您可以引入以下内容:
- 数据存储
- 机架感知
- 用于验证对 Kafka 集群的客户端访问的监听程序
- 用于管理 Kafka 主题的主题 Operator
- 用于管理 Kafka 用户(客户端)的用户 Operator
- 用于集群重新平衡的 Cruise Control
- 用于收集滞后指标的 Kafka Exporter
使用 KafkaNodePool 资源在 Kafka 集群中配置不同的节点组。
常见配置
通用配置为每个组件独立配置,如下所示:
- 指标配置
- 健康检查和存活度探测
- 资源限值和请求(CPU/内存)
- 日志记录频率
- 最多和最小内存分配的 JVM 选项
配置映射以集中配置
对于 Kafka Connect 连接器的特定配置区域,如指标、日志记录和外部配置,您还可以使用 ConfigMap 资源。通过使用 ConfigMap 资源来融合配置,您可以集中维护。您还可以使用配置供应商从外部来源加载配置,我们建议提供 Kafka Connect 连接器配置的凭证。
TLS 证书管理
在部署 Kafka 时,Cluster Operator 会自动设置和更新 TLS 证书,以便在集群中启用加密和身份验证。如果需要,您可以在续订周期开始前手动续订集群和客户端 CA 证书。您还可以替换集群和客户端 CA 证书使用的密钥。如需更多信息,请参阅 手动续订 CA 证书和替换私钥。
将更改应用到自定义资源配置文件
您可以使用 spec 属性将配置添加到自定义资源中。添加配置后,您可以使用 oc 将更改应用到自定义资源配置文件:
将更改应用到资源配置文件
oc apply -f <kafka_configuration_file>
oc apply -f <kafka_configuration_file>
应用到自定义资源的标签也会应用到组成集群的 OpenShift 资源。这为资源提供了一个方便的机制来根据需要进行标记。
9.1. 使用示例配置文件 复制链接链接已复制到粘贴板!
通过纳入其他支持的配置来进一步增强部署。从 Apache Kafka 软件下载页面 的 Streams 中提供了可下载发行工件的示例。
默认情况下,示例文件仅包含自定义资源的基本属性和值。您可以使用 oc 命令行工具下载并应用示例。为部署构建您自己的 Kafka 组件配置时,示例可以作为一个起点。
如果使用 Operator 安装 Apache Kafka 的 Streams,您仍然可以下载示例文件,并使用它们上传配置。
发行工件包括 一个示例 目录,其中包含配置示例。
为 Apache Kafka 提供的流配置文件示例
- 1
KafkaUser自定义资源配置,由 User Operator 管理。- 2
KafkaTopic自定义资源配置,由 Topic Operator 管理。- 3
- Kafka 组件的身份验证和授权配置。包括 TLS 和 SCRAM-SHA-512 身份验证的示例配置。Red Hat build of Keycloak 示例包括
Kafka自定义资源配置和红帽构建的 Keycloak 域规格。您可以使用示例来试用红帽构建的 Keycloak 授权服务。另外,还有一个启用了oauth身份验证和keycloak授权指标的示例。 - 4
KafkaMirrorMaker和KafkaMirrorMaker2自定义资源配置用于部署 MirrorMaker。包括复制策略和同步频率配置示例。- 5
- 指标配置,包括 Prometheus 安装和 Grafana 仪表板文件。
- 6
Kafka和KafkaNodePool自定义资源配置,用于部署使用 ZooKeeper 模式的 Kafka 集群。包括临时或持久单一或多节点部署的示例配置。- 7
Kafka和KafkaNodePool配置用于部署使用 KRaft (Kafka Raft metadata)模式的 Kafka 集群。- 8
- 使用 Cruise Control 的部署配置的
Kafka自定义资源。包含KafkaRebalance自定义资源,从 Cruise Control 生成优化提议,以及示例配置,以使用默认或用户优化目标。 - 9
- 用于部署 Kafka Connect 的
KafkaConnect和KafkaConnector自定义资源配置。包括单节点或多节点部署的配置示例。 - 10
KafkaBridge自定义资源配置用于部署 Kafka Bridge。