10.2. 主题命名约定
KafkaTopic
资源包括主题的名称,以及一个标识它所属的 Kafka 集群名称的标签。
标识 Kafka 集群用于主题处理的标签
该标签提供 Kafka
资源的集群名称。主题 Operator 使用该标签作为确定要管理的 KafkaTopic
资源的机制。如果标签与 Kafka 集群不匹配,则 Topic Operator 无法看到 KafkaTopic
,且不会创建主题。
Kafka 和 OpenShift 都有自己的命名验证规则,Kafka 主题名称在 OpenShift 中可能不是有效的资源名称。如果可能,请尝试并坚持适合两者的命名约定。
请考虑以下指南:
- 使用反映主题性质的主题名称
- 很简洁,并在 63 个字符下保留名称
- 使用所有小写和连字符
- 避免特殊字符、空格或符号
KafkaTopic
资源允许您使用 metadata.name
字段指定 Kafka 主题名称。但是,如果所需的 Kafka 主题名称不是有效的 OpenShift 资源名称,您可以使用 spec.topicName
属性来指定实际名称。spec.topicName
字段是可选的,当不存在时,Kafka 主题名称默认为主题的 metadata.name
。创建主题时,无法稍后更改主题名称。
提供有效 Kafka 主题名称的示例
如果多个 KafkaTopic
资源引用同一 Kafka 主题,则首先创建的资源被视为管理该主题的资源。更新较新的资源的状态以指示冲突,并且它们的 Ready
状态更改为 False
。
Kafka 客户端应用程序(如 Kafka Streams)可自动创建带有无效 OpenShift 资源名称的主题。如果要管理这些主题,则必须使用不同的 .metadata.name
创建 KafkaTopic
资源,如上例中所示。
如需有关集群中标识符和名称要求的更多信息,请参阅 OpenShift 文档 对象名称和 ID。