第 2 章 准备在 OpenShift Container Platform 上部署 AMQ Interconnect


在 OpenShift Container Platform 上部署 AMQ Interconnect 之前,请执行以下步骤之一:

如果要评估 AMQ Interconnect,您可以跳过这些步骤,但红帽建议您始终保护 AMQ Interconnect 通信。

2.1. 为 SSL/TLS 验证创建 secret

注意

如果您安装了 Red Hat Integration - AMQ Certificate Manager Operator,您可以跳过这个过程,使用 AMQ Certificate Manager 保护网络的说明将包括在相关流程中。OpenShift 使用名为 Secret 的对象来保存敏感信息,如 SSL/TLS 证书。如果要保护路由器间的流量、客户端流量或两者,那么您必须创建 SSL/TLS 证书和私钥,并将它们提供给 OpenShift 作为 secret。

流程

  1. 如果您没有用于 inter-router 连接的现有证书颁发机构 (CA) 证书,请创建一个。

    这些命令为路由器连接创建一个自签名 CA 证书:

    # Create a new directory for the inter-router certificates.
    $ mkdir internal-certs
    
    # Create a private key for the CA.
    $ openssl genrsa -out internal-certs/ca-key.pem 2048
    
    # Create a certificate signing request for the CA.
    $ openssl req -new -batch -key internal-certs/ca-key.pem -out internal-certs/ca-csr.pem
    
    # Self sign the CA certificate.
    $ openssl x509 -req -in internal-certs/ca-csr.pem -signkey internal-certs/ca-key.pem -out internal-certs/ca.crt
  2. 为 CA 签名的路由器创建证书。

    这些命令创建私钥和证书,并使用上一步中创建的 CA 为证书签名:

    # Create a private key.
    $ openssl genrsa -out internal-certs/tls.key 2048
    
    # Create a certificate signing request for the router.
    $ openssl req -new -batch -subj "/CN=amq-interconnect.<project_name>.svc.cluster.local" -key internal-certs/tls.key -out internal-certs/server-csr.pem
    
    # Sign the certificate using the CA.
    $ openssl x509 -req -in internal-certs/server-csr.pem -CA internal-certs/ca.crt -CAkey internal-certs/ca-key.pem -out internal-certs/tls.crt -CAcreateserial

    其中 <project_name> 是当前 OpenShift 项目的名称。

  3. 创建包含私钥、路由器证书和 CA 证书的 secret。

    此命令使用在前面的步骤中创建的密钥和证书创建 secret:

    $ oc create secret generic inter-router-certs-secret --from-file=tls.crt=internal-certs/tls.crt  --from-file=tls.key=internal-certs/tls.key  --from-file=ca.crt=internal-certs/ca.crt
  4. 如果要使用 SSL/TLS 验证客户端连接(与使用 SASL 验证客户端相比),为客户端连接创建一个 CA 证书。

    这些命令为客户端连接创建自签名 CA 证书:

    # Create a new directory for the client certificates.
    $ mkdir client-certs
    
    # Create a private key for the CA.
    $ openssl genrsa -out client-certs/ca-key.pem 2048
    
    # Create a certificate signing request for the CA.
    $ openssl req -new -batch -key client-certs/ca-key.pem -out client-certs/ca-csr.pem
    
    # Self sign the certificate.
    $ openssl x509 -req -in client-certs/ca-csr.pem -signkey client-certs/ca-key.pem -out client-certs/ca.crt
  5. 为 CA 签名的客户端连接创建证书。

    这些命令创建私钥和证书,然后使用上一步中创建的 CA 为证书签名:

    # Create a private key.
    $ openssl genrsa -out client-certs/tls.key 2048
    
    # Create a certificate signing request for the client connections
    $ openssl req -new -batch -subj "/CN=<client_name>" -key client-certs/tls.key -out client-certs/client-csr.pem
    
    # Sign the certificate using the CA.
    $ openssl x509 -req -in client-certs/client-csr.pem -CA client-certs/ca.crt -CAkey client-certs/ca-key.pem -out client-certs/tls.crt -CAcreateserial

    其中 <client_name > 对于每个路由器客户端是唯一的。

  6. 创建包含使用在前面的步骤中创建的证书为客户端证书签名的 CA 证书的 secret:

    $ oc create secret generic client-ca-secret --from-file=ca.crt=client-certs/ca.crt --from-file=tls.crt=client-certs/ca.crt --from-file=tls.key=client-certs/ca-key.pem
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.