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


此流程描述了如何配置驻留在 OpenShift 集群中 - 连接到 TLS 侦听器 - 信任集群 CA 证书的 Kafka 客户端。

对于内部客户端而言,最简单的方法是使用卷挂载来访问包含所需证书和密钥的 Secret

按照步骤配置集群 CA 为基于 Java 的 Kafka Producer、Consumer 和 Streams API 签名的信任证书。

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

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

先决条件

  • Cluster Operator 必须正在运行。
  • OpenShift 集群中需要有 Kafka 资源。
  • 您需要在 OpenShift 集群内有一个 Kafka 客户端应用,它将使用 TLS 进行连接,需要信任集群 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

    在这里,我们要挂载:

    • PKCS #12 文件到一个精确的路径,该路径可以被配置
    • 密码到环境变量中,可在其中用于 Java 配置
  2. 使用以下属性配置 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)

  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
  2. 将证书与使用 X.509 格式的客户端一起使用。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.