10.5. 配置内部客户端以信任集群 CA


此流程描述了如何配置位于 OpenShift 集群内部的 Kafka 客户端 - 连接到 TLS 侦听器 - 以信任集群 CA 证书。

为内部客户端达到此目的的最简单方法是使用卷挂载访问包含所需 证书和密钥 的 Secret。

按照以下步骤为基于 Java 的 Kafka Producer、消费者和流 API 配置集群 CA 签名的信任证书。

根据集群 CA 的证书格式选择以下步骤: PKCS #12 (.p12)或 PEM (.crt)。

步骤描述了如何挂载 Cluster Secret,将 Kafka 集群的身份验证到客户端 pod。

先决条件

  • Cluster Operator 必须正在运行。
  • 需要在 OpenShift 集群中有一个 Kafka 资源。
  • 您需要在 OpenShift 集群上使用 TLS 连接的 Kafka 客户端应用程序,并需要信任集群 CA 证书。
  • 客户端应用程序必须与 Kafka 资源在同一命名空间中运行。

使用 PKCS #12 格式(.p12)

  1. 在定义客户端 pod 时,将集群 Secret 挂载为卷。

    例如:

    kind: Pod
    apiVersion: v1
    metadata:
      name: client-pod
    spec:
      containers:
      - name: client-name
        image: client-name
        volumeMounts:
        - name: secret-volume
          mountPath: /data/p12
        env:
        - name: SECRET_PASSWORD
          valueFrom:
            secretKeyRef:
              name: my-secret
              key: my-password
      volumes:
      - name: secret-volume
        secret:
          secretName: my-cluster-cluster-ca-cert
    Copy to Clipboard Toggle word wrap

    我们在这里挂载:

    • PKCS #12 文件为准确路径,可以配置
    • 在环境变量中,密码可用于 Java 配置
  2. 使用以下属性配置 Kafka 客户端:

    • 安全协议选项:

      • security.protocol:在使用 TLS 加密时(使用或没有 TLS 身份验证)时的 SSL
      • security.protocol: SASL_SSL 在通过 TLS 使用 SCRAM-SHA 验证时。
    • SSL.truststore.location,使用导入证书的 truststore 位置。
    • SSL.truststore.password,密码为,用于访问信任存储。
    • SSL.truststore.type=PKCS12 来识别信任存储类型。

使用 PEM 格式(.crt)

  1. 在定义客户端 pod 时,将集群 Secret 挂载为卷。

    例如:

    kind: Pod
    apiVersion: v1
    metadata:
      name: client-pod
    spec:
      containers:
      - name: client-name
        image: client-name
        volumeMounts:
        - name: secret-volume
          mountPath: /data/crt
      volumes:
      - name: secret-volume
        secret:
          secretName: my-cluster-cluster-ca-cert
    Copy to Clipboard Toggle word wrap
  2. 将证书与使用 X.509 格式的证书的客户端一起使用。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat