10.7. Kafka 侦听器证书
您可以为启用 TLS 加密的任何监听程序提供自己的服务器证书和私钥。这些用户提供的证书称为 Kafka 侦听器证书。
提供 Kafka 侦听器证书允许您利用现有的安全基础架构,如您组织的私有 CA 或公共 CA。Kafka 客户端需要信任用于为监听程序证书签名的 CA。
在需要时,您必须手动续订 Kafka 侦听器证书。
10.7.1. 提供您自己的 Kafka 侦听器证书 复制链接链接已复制到粘贴板!
此流程演示了如何将侦听器配置为使用您自己的私钥和服务器证书,称为 Kafka 侦听器证书。
您的客户端应用程序应使用 CA 公钥作为可信证书,以验证 Kafka 代理的身份。
先决条件
- OpenShift 集群。
- Cluster Operator 正在运行。
对于每个监听程序,由外部 CA 签名的兼容服务器证书。
- 以 PEM 格式提供 X.509 证书。
- 为每个监听程序指定正确的 Subject Alternative Names (SAN)。更多信息请参阅 第 10.7.2 节 “Kafka 监听器的服务器证书中的替代主题”。
- 您可以在证书文件中提供包含整个 CA 链的证书。
流程
创建包含私钥和服务器证书的
Secret:oc create secret generic my-secret --from-file=my-listener-key.key --from-file=my-listener-certificate.crt
oc create secret generic my-secret --from-file=my-listener-key.key --from-file=my-listener-certificate.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑集群的
Kafka资源。配置侦听器,以在configuration.brokerCertChainAndKey属性中使用Secret、证书文件和私钥文件。启用 TLS
加密的负载均衡器外部监听程序配置示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow TLS 侦听器配置示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用新配置以创建或更新资源:
oc apply -f kafka.yaml
oc apply -f kafka.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster Operator 启动 Kafka 集群的滚动更新,这会更新监听程序的配置。
注意如果您在已由 TLS 或外部监听程序使用的
Secret中更新 Kafka 侦听器证书,也会启动滚动更新。
10.7.2. Kafka 监听器的服务器证书中的替代主题 复制链接链接已复制到粘贴板!
要将 TLS 主机名验证用于您自己的 Kafka 侦听器证书,您必须为每个监听器使用正确的主题备用名称(SAN)。证书 SAN 必须为以下项指定主机名:
- 集群中的所有 Kafka 代理
- Kafka 集群 bootstrap 服务
如果 CA 支持通配符证书,您可以使用通配符证书。
10.7.2.1. TLS 侦听器 SAN 示例 复制链接链接已复制到粘贴板!
使用以下示例,帮助您为 TLS 监听器在证书中指定 SAN 的主机名。
通配符示例
非通配符示例
10.7.2.2. 外部监听程序 SAN 示例 复制链接链接已复制到粘贴板!
对于启用了 TLS 加密的外部监听程序,您需要在证书中指定的主机名取决于外部监听程序 类型。
| 外部监听程序类型 | 在 SANs 中,指定… |
|---|---|
|
|
所有 Kafka 您可以使用匹配的通配符名称。 |
|
|
所有 Kafka 代理 您可以使用匹配的通配符名称。 |
|
| Kafka 代理 Pod 可能调度到的所有 OpenShift worker 节点的地址。 您可以使用匹配的通配符名称。 |