11.7. 配置外部客户端以信任集群 CA
此流程描述了如何配置驻留在 OpenShift 集群外的 Kafka 客户端 - 连接到 外部 监听器 - 以信任集群 CA 证书。设置客户端时,并在续订期间替换旧客户端 CA 证书时,按照以下步骤操作。
按照步骤配置集群 CA 为基于 Java 的 Kafka Producer、Consumer 和 Streams API 签名的信任证书。
根据集群 CA 的证书格式选择要执行的步骤:PKCS #12(.p12)或 PEM(.crt)。
步骤描述了如何从 Cluster Secret 获取验证 Kafka 集群身份的证书。
<cluster-name>-cluster-ca-cert Secret 在 CA 证书续订期间将包含多个 CA 证书。客户端必须将 所有这些 添加到其信任存储中。
先决条件
- Cluster Operator 必须正在运行。
-
OpenShift 集群中需要有
Kafka资源。 - 您需要在 OpenShift 集群外有一个 Kafka 客户端应用,它将使用 TLS 进行连接,需要信任集群 CA 证书。
使用 PKCS #12 格式(.p12)
从生成的
<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 使用以下属性配置 Kafka 客户端:
安全协议选项:
-
security.protocol:使用 TLS 加密(带有或不使用 TLS 身份验证)时,SSL -
security.protocol:在通过 TLS 使用 SCRAM-SHA 身份验证时,SASL_SSL
-
-
导入证书的信任存储位置的 SSL.truststore.location。 -
SSL.truststore.password,密码为用于访问信任存储的密码。如果信任存储不需要此属性,则可以省略它。 -
SSL.truststore.type=PKCS12标识信任存储类型。
使用 PEM 格式(.crt)
从生成的
<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 格式的客户端一起使用。