15.5. 配置外部客户端以信任集群 CA
此流程描述了如何配置位于 OpenShift 集群外的 Kafka 客户端 - 连接到 外部监听程序
- 以信任集群 CA 证书。当替换旧客户端 CA 证书时,请按照设置客户端和续订周期时按照以下步骤操作。
按照以下步骤配置由基于 Java 的 Kafka Producer、Consumer 和 Streams API 的集群 CA 签名的信任证书。
根据集群 CA 的证书格式,选择遵循的步骤:PKCS #12 (.p12
) 或 PEM (.crt
)。
这些步骤描述了如何从验证 Kafka 集群身份的集群 Secret 获取证书。
& lt;cluster_name> -cluster-ca-cert
secret 在 CA 证书续订期间包含多个 CA 证书。客户端必须将它们全部添加到其信任存储中。
先决条件
- Cluster Operator 必须正在运行。
-
OpenShift 集群中需要有一个
Kafka
资源。 - 您需要 OpenShift 集群外的 Kafka 客户端应用程序需要使用 TLS 连接,并需要信任集群 CA 证书。
使用 PKCS #12 格式 (.p12)
从 Kafka 集群的 <
cluster_name> -cluster-ca-cert
Secret 中提取集群 CA 证书和密钥。oc get secret <cluster_name>-cluster-ca-cert -o jsonpath='{.data.ca\.p12}' | base64 -d > ca.p12
oc get secret <cluster_name>-cluster-ca-cert -o jsonpath='{.data.ca\.password}' | base64 -d > ca.password
将 <cluster_name > 替换为 Kafka 集群的名称。
使用以下属性配置 Kafka 客户端:
安全协议选项:
-
security.protocol :在使用 TLS 时 SSL
。 -
security.protocol :在通过 TLS 使用 SCRAM-SHA 身份验证时 SASL_SSL
。
-
-
ssl.truststore.location
,使用导入证书的 truststore 位置。 -
ssl.truststore.password
,使用用于访问信任存储的密码。如果 truststore 不需要此属性,则可以省略此属性。 -
ssl.truststore.type=PKCS12
来识别信任存储类型。
使用 PEM 格式(.crt)
从 Kafka 集群的 <
cluster_name>-cluster-ca-cert
secret 中提取集群 CA 证书。oc get secret <cluster_name>-cluster-ca-cert -o jsonpath='{.data.ca\.crt}' | base64 -d > ca.crt
- 使用提取的证书在使用 X.509 格式的证书的客户端中配置 TLS 连接。