第 1 章 3scale API 管理
如果在 OpenShift Container Platform 上部署了 Kafka Bridge,您可以在 3scale 中使用它。
对于 Kafka Bridge 的普通部署,没有置备身份验证或授权,且不支持外部客户端的 TLS 加密连接。3scale API 管理可以使用 TLS 保护 Kafka Bridge,并提供身份验证和授权。与 3scale 集成还意味着提供了指标、速率限制和计费等其他功能。
使用 3scale,您可以对希望访问 Apache Kafka 的外部客户端使用不同类型的身份验证。3scale 支持以下验证类型:
- 标准 API 密钥
- 单一随机字符串或哈希充当标识符和机密令牌。
- 应用程序标识符和密钥对
- 不可变标识符和可变 secret key 字符串。
- OpenID Connect
- 委派的身份验证的协议。
1.1. Kafka Bridge 服务发现
3scale 使用服务发现集成,这需要 3scale 部署到与 Apache Kafka 和 Kafka Bridge 相同的 OpenShift 集群。
Apache Kafka Cluster Operator 部署的流必须设置以下环境变量:
- STRIMZI_CUSTOM_KAFKA_BRIDGE_SERVICE_LABELS
- STRIMZI_CUSTOM_KAFKA_BRIDGE_SERVICE_ANNOTATIONS
当部署了 Kafka Bridge 时,用于公开 Kafka Bridge 的 REST 接口的服务使用注解和标签以供 3scale 发现。
-
3scale 使用
discovery.3scale.net=true
标签来查找服务。 - 注解提供有关该服务的信息。
您可以在 OpenShift 控制台中通过导航到 Kafka Bridge 实例的 Services 来检查您的配置。在 Annotations 下,您会看到 Kafka Bridge 的 OpenAPI 规格的端点。