第 7 章 功能门
Apache Kafka operator 的流使用功能门来启用或禁用特定功能和功能。启用功能门会更改关联的 Operator 的行为,为 Apache Kafka 部署引入对应的功能。
功能门的目的是在功能完全采用前进行试验和测试。功能门的状态(启用或禁用)默认可能会有所不同,具体取决于其成熟度等级。
作为功能门获取并达到正式发行(GA),它默认转换为启用的状态,并成为 Apache Kafka 部署的 Streams 的永久部分。在 GA 阶段无法禁用功能门。
7.1. graduated 功能门(GA) 复制链接链接已复制到粘贴板!
graduated 功能门已正式发布(GA),并被永久启用的功能。
7.1.1. ControlPlaneListener 功能门 复制链接链接已复制到粘贴板!
ControlPlaneListener 功能门为数据复制和协调分离监听程序:
- Kafka 控制器和代理之间的连接在端口 9090 上使用内部 control plane 侦听器。
- 在代理间复制数据,以及从 Apache Kafka operator、Cruise Control 或 Kafka Exporter 的 Streams 的内部连接在端口 9091 上使用 复制监听程序。
永久启用 ControlPlaneListener 功能门后,无法直接升级或降级 Apache Kafka 1.7 及更早的流(Apache Kafka 2.3 及更新版本)。您必须首先通过 Apache Kafka 版本的一个流升级或降级,禁用 ControlPlaneListener 功能门,然后降级或升级(启用了功能门)到目标版本。
7.1.2. ServiceAccountPatching 功能门 复制链接链接已复制到粘贴板!
ServiceAccountPatching 功能门可确保 Cluster Operator 始终协调服务帐户并根据需要更新它们。例如,当您使用自定义资源的 template 属性更改服务帐户标签或注解时,Operator 会在现有服务帐户资源中自动更新它们。
7.1.3. UseStrimziPodSets 功能门 复制链接链接已复制到粘贴板!
UseStrimziPodSets 功能门引入了 StrimziPodSet 自定义资源来管理 Kafka 和 ZooKeeper pod,替换 OpenShift StatefulSet 资源的使用。
永久启用 UseStrimziPodSets 功能门后,无法直接从 Streams for Apache Kafka 2.5 及更新版本降级到 Streams for Apache Kafka 2.0 或更早版本。您必须首先通过一个流进行降级,用于 Apache Kafka 版本 in-between,禁用 UseStrimziPodSets 功能门,然后降级到 Streams for Apache Kafka 2.0 或更早版本。
7.1.4. StableConnectIdentities 功能门 复制链接链接已复制到粘贴板!
StableConnectIdentities 功能门引入了 StrimziPodSet 自定义资源来管理 Kafka Connect 和 Kafka MirrorMaker 2 pod,替换 OpenShift Deployment 资源的使用。
StrimziPodSet 资源为 pod 提供稳定名称和稳定的地址,这些地址在滚动升级过程中不会改变,替换 OpenShift Deployment 资源的使用。
永久启用 StableConnectIdentities 功能门后,无法直接从 Apache Kafka 2.7 及更新版本的流降级到 Streams for Apache Kafka 2.3 或更早版本。您必须首先通过一个流进行降级,用于 Apache Kafka 版本 in-between,禁用 StableConnectIdentities 功能门,然后降级到 Streams for Apache Kafka 2.3 或更早版本。