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