限制

DC/OS Apache Kafka 服务的已知限制

Out-of-band 配置

不支持 Out-of-band 配置修改。服务的核心责任是使用指定配置部署和维护服务。为此,服务假定其拥有任务配置所有权。如果最终用户通过 out-of-band 配置操作对个别任务进行修改,该服务将在以后覆盖这些修改。例如:

  • 如果任务崩溃,系统将使用调度程序已知的配置重新启动任务,而非使用修改后的 out-of-band 配置重新启动。
  • 如果初始化了配置更新,所有 out-of-band 修改将在滚动更新期间被覆盖。

缩减

为防止意外丢失数据,该服务不支持减少 Pod 数量。

磁盘更改

为防止重新分配时意外丢失数据,服务不支持在初次部署后更改卷要求。

最大努力安装

如果您的群集没有足够的资源按要求部署服务,初始部署将不会完成,直到有可用的资源,或使用更正的资源要求重新安装服务为止。同样,如果集群没有所需的可用资源来完成扩展,则初始部署后的向外扩展也不会完成。

虚拟网络

在虚拟网络上部署服务时,如果没有完全地重新安装,服务可能无法切换到主机网络。同样,尝试从主机切换到虚拟网络也是如此。

任务环境变量

每个服务任务都有一些用于配置任务的环境变量。这些环境变量由服务调度程序设置。尽管有 可能 在 adhoc 脚本中使用这些环境变量(例如,通过 dcos task exec),给定环境变量的名称可能会随服务版本的不同而变化,并且不应被视为服务的公用 API。

如果服务在部署时有区约束,则初始安装后可能无法删除约束。

另外,如果服务在部署时没有区约束,则初始安装后可能无法添加约束。

区域

服务不能在区域之间移动。如果最初安装时没有配置区域,则无法更新服务以使用该区域。

Log Retention Bytes

disk 配置值以 MB 为单位。建议您设置的配置值 log_retention_bytes 小于指示 disk 配置。参阅 配置 部分,了解有关自定义这些值的指令。

安全

Kafka CLI

启用任何安全功能时,该 Kafka 服务 CLI 子命令 topic 将不会运行。虽然服务 CLI 便利功能不会运行,但是与 [Apache Kafka] 绑定的工具(https://cwiki.apache.org/confluence/display/KAFKA/System+Tools) 以及支持启用安全模式的其他工具会运行。

Kerberos

启用 Kerberos 时,broker VIP 被禁用,Kerberized 客户端将无法使用它。这是因为每个 Kafka broker 都使用特定的 Kerberos principal,不能接受来自 VIP 所需的单个统一 principal 的连接。

切换 Kerberos

Kerberos 身份认证可以进行切换(启用/禁用),但这会触发集群的滚动重启。配置旧安全设置的客户端在此过程期间和之后会失去连接。我们建议您备份文件并安排停机时间。

切换传输加密

使用 TLS 的传输加密可以进行切换(启用/禁用),但这会触发集群的滚动重启。当每个 broker 重新启动时,基于其安全设置以及 service.security.transport_encryption.allow_plaintext 配置选项的值,客户端可能会断开连接。我们建议您备份文件并安排停机时间。

要启用 TLS,则需要服务帐户和相应的密码。由于无法更改服务使用的服务帐户,建议使用显式服务帐户部署服务,以允许 TLS 在后续阶段启用。