5.3. 创建集群间路由器网络
根据您是否在使用 AMQ 证书管理器,都有不同的步骤来创建集群间路由器网络。
5.3.1. 使用证书颁发机构创建集群间路由器网络
您可以从在不同 OpenShift Container Platform 集群中运行的路由器创建路由器网络。这可让您连接在独立集群中运行的应用程序。
先决条件
- 您已创建 secret,为每个路由器定义现有证书。
流程
此流程以两个不同的 OpenShift Container Platform 集群(cluster1
和 cluster2)
创建路由器部署,并将它们连接在一起,形成集群间路由器网络。路由器部署之间的连接通过 SSL/TLS mutual 验证进行保护。
在第一个 OpenShift Container Platform 集群中(
cluster1)
中,创建一个描述 interior 路由器部署的Interconnect
自定义资源 YAML 文件。这个示例创建带有默认配置的单个 interior 路由器。
cluster1-router-mesh.yaml
文件示例apiVersion: interconnectedcloud.github.io/v1alpha1 kind: Interconnect metadata: name: cluster1-router-mesh spec: interRouterListeners: - authenticatePeer: true 1 host: 0.0.0.0 2 port: 55672 3 saslMechanisms: EXTERNAL 4 sslProfile: inter-router-profile 5 expose: true 6 sslProfiles: - caCert: inter-router-certs-secret 7 credentials: inter-router-certs-secret 8 name: inter-router-profile 9
- 1
authenticatePeer
必须设为true
才能使用 TLS 证书进行身份验证- 2
- 侦听器的主机
- 3
- 侦听器端口
- 4
- SASL 机制进行身份验证,对 TLS 证书使用 EXTERNAL
- 5
- 用于验证客户端的 SSL 配置档案名称
- 6
- 公开路由,以便能够从集群外部访问端口
- 7
- 包含
ca.crt
名称的集群 secret 或您的 CA(在这种情况下,您使用了凭证中使用的同一 secret,否则必须具有 tls.crt) - 8
- 包含
tls.crt
和tls.key
文件的 CA 证书的集群 secret 名称 - 9
- 用于 interRouterListener 的 SSL-profile 名称
创建 YAML 文件中描述的路由器部署。
$ oc apply -f cluster1-router-mesh.yaml
Red Hat Integration - AMQ Interconnect Operator 创建一个带有默认配置的交集,以及一个监听程序来验证其他路由器。
-
登录第二个 OpenShift Container Platform 集群(
cluster2
),并切换到要创建第二个路由器部署的项目。 在
cluster2
中,创建一个互连
自定义资源 YAML 文件来描述路由器部署。cluster2-router-mesh.yaml
文件示例apiVersion: interconnectedcloud.github.io/v1alpha1 kind: Interconnect metadata: name: cluster2-router-mesh spec: sslProfiles: - name: inter-router-profile 1 credentials: inter-router-certs-secret caCert: inter-router-certs-secret interRouterConnectors: - host: cluster1-router-mesh-port-55672-myproject.cluster1.openshift.com 2 port: 443 verifyHostname: false sslProfile: inter-router-profile name: cluster1
创建 YAML 文件中描述的路由器部署。
$ oc apply -f cluster2-router-mesh.yaml
验证路由器已连接。
这个示例显示
cluster2
中路由器到cluster1
中的路由器的连接。$ oc exec cluster2-fb6bc5797-crvb6 -it -- qdstat -c Connections id host container role dir security authentication tenant ==================================================================================================================================================================================================== 1 cluster1-router-mesh-port-55672-myproject.cluster1.openshift.com:443 cluster1-router-mesh-54cffd9967-9h4vq inter-router out TLSv1/SSLv3(DHE-RSA-AES256-GCM-SHA384) x.509