13.7. 保护跨站点连接


添加密钥存储和信任存储,以便数据网格集群可以保护跨站点复制流量。

您必须添加一个密钥存储,以使用 OpenShift Route 作为跨站点复制的公开类型。如果您使用 NodePortLoadBalancer 作为公开类型,则保护跨站点连接是可选的。

注意

跨站点复制不支持 OpenShift CA 服务。您必须提供自己的证书。

先决条件

  • 具有 Data Grid 可用于加密和解密 RELAY 消息的 PKCS12 密钥存储。

    您必须提供密钥存储来中继 pod 和路由器 pod,以保护跨站点连接。
    对于中继 pod 和路由器 pod,密钥存储可以相同,也可以为每个 pod 提供单独的密钥存储。
    您还可以为每个 Data Grid 集群使用相同的密钥存储,或每个集群的唯一密钥存储。

  • 有一个 PKCS12 信任存储,其中包含证书链或 root CA 证书的一部分,用于验证 Data Grid relay pod 和路由器 Pod 的公共证书。

流程

  1. 创建跨站点加密 secret。

    1. 创建密钥存储 secret。
    2. 创建信任存储 secret。
  2. 修改每个 Data Grid 集群的 Infinispan CR,以指定 encryption.transportKeyStore.secretNameencryption.routerKeyStore.secretName 字段的机密名称。
  3. 配置任何其他字段以根据需要加密 RELAY 消息,然后应用更改。

    apiVersion: infinispan.org/v1
    kind: Infinispan
    metadata:
      name: infinispan
    spec:
      replicas: 2
      version: <Data Grid_version>
      expose:
        type: LoadBalancer
      service:
        type: DataGrid
        sites:
          local:
            name: SiteA
            # ...
            encryption:
              protocol: TLSv1.3
              transportKeyStore:
                secretName: transport-tls-secret
                alias: transport
                filename: keystore.p12
              routerKeyStore:
                secretName: router-tls-secret
                alias: router
                filename: keystore.p12
              trustStore:
                secretName: truststore-tls-secret
                filename: truststore.p12
          locations:
            # ...
    Copy to Clipboard Toggle word wrap

13.7.1. 用于配置跨站点加密的资源

下表提供了加密跨站点连接的字段和描述。

Expand
表 13.4. service.type.sites.local.encryption
字段描述

service.type.sites.local.encryption.protocol

指定用于跨站点连接的 TLS 协议。默认值为 TLSv1.3,但如果需要,您可以设置 TLSv1.2

service.type.sites.local.encryption.transportKeyStore

配置用于中继 Pod 的密钥存储 secret。

service.type.sites.local.encryption.routerKeyStore

为路由器 Pod 配置密钥存储 secret。

service.type.sites.local.encryption.trustStore

为中继 pod 和路由器 pod 配置信任存储 secret。

Expand
表 13.5. service.type.sites.local.encryption.transportKeyStore
字段描述

secretName

指定包含用于加密和解密 RELAY 消息的密钥存储的 secret。此字段是必需的。

alias

(可选)指定密钥存储中证书的别名。默认值为 transport

filename

(可选)指定密钥存储的文件名。默认值为 keystore.p12

Expand
表 13.6. service.type.sites.local.encryption.routerKeyStore
字段描述

secretName

指定包含路由器 pod 可用来加密和解密 RELAY 消息的密钥存储的 secret。此字段是必需的。

alias

(可选)指定密钥存储中证书的别名。默认值为 路由器

filename

(可选)指定密钥存储的文件名。默认值为 keystore.p12

Expand
表 13.7. service.type.sites.local.encryption.trustStore
字段描述

secretName

指定包含信任存储的 secret,用于验证中继 pod 和路由器 pod 的公共证书。此字段是必需的。

filename

(可选)指定信任存储的文件名。默认值为 truststore.p12

13.7.2. 跨站点加密 secret

跨站点复制加密 secret 添加密钥存储和信任存储,以保护跨站点连接。

跨站点加密 secret

apiVersion: v1
kind: Secret
metadata:
  name: tls-secret
type: Opaque
stringData:
  password: changeme
  type: pkcs12
data:
  <file-name>: "MIIKDgIBAzCCCdQGCSqGSIb3DQEHA..."
Copy to Clipboard Toggle word wrap

Expand
字段描述

stringData.password

指定密钥存储或信任存储的密码。

stringData.type

(可选)指定密钥存储或信任存储类型。默认值为 pkcs12

data.<file-name>

添加 base64 编码的密钥存储或信任存储。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部