第 5 章 创建路由器网络
要创建 AMQ 互联路由器网络,您可以在 互联
自定义资源中定义部署,然后应用它。AMQ Interconnect Operator 通过调度必要的 Pod 并创建任何所需资源来创建部署。
本节中的步骤演示以下路由器网络拓扑:
- interior router mesh
- 带有边缘路由器的路由器网格以实现可扩展性
- 连接两个 OpenShift 集群的集群路由器网络
先决条件
- AMQ Interconnect Operator 已安装在 OpenShift Container Platform 项目中。
5.1. 创建内路由器部署 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
相互间的路由器建立相互连接,并自动计算网络中的最低成本路径。
流程
此流程创建三个路由器的内路由器网络。路由器在网格拓扑中相互自动连接,它们的连接可以通过 mutual SSL/TLS 身份验证进行保护。
创建描述 interior 路由器部署的
Interconnect
自定义资源 YAML 文件。router-mesh.yaml
文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 部署中路由器的操作模式。Operator 将在网格拓扑中自动连接间路由器。
- 2
- 要创建的路由器数量。
- 3
- 每个路由器在单独的 Pod 中运行。放置(Placement)定义了 Operator 应该调度并放置 Pod 的位置。您可以选择以下放置选项:
任意
- Pod 可以在 OpenShift Container Platform 集群的任何节点上运行。
每
-
Operator 将路由器 Pod 放置到集群中的每个节点上。如果选择这个选项,则不需要
Size
属性,路由器数量与集群中的节点数量对应。 反关联性
-
Operator 确保多个路由器 Pod 不在集群的同一节点上运行。如果大小超过集群中的节点数量,则无法调度的额外 Pod 将保持
Pending
状态。
创建 YAML 文件中描述的路由器部署。
oc apply -f router-mesh.yaml
$ oc apply -f router-mesh.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Operator 在网格拓扑中创建部署交集,该路由器使用默认的地址语义。它还会创建一个服务,在其中可访问该路由器,以及您可以访问 Web 控制台的路由。
验证路由器网格是否已创建且 Pod 是否正在运行。
每个路由器在单独的 Pod 中运行。它们使用 Operator 创建的 Service 会自动连接。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查路由器部署。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 默认地址配置。发送到与这些前缀不匹配的地址的所有消息都会在 均衡的 任意广播模式中分发。
- 2
- 部署了三个间路由器的路由器网格。
- 3
- 每个相互路由器侦听端口
45672
,以获取来自边缘路由器的连接。 - 4
- 在端口
55671
中,相互路由器互相连接。这些路由器连接通过 SSL/TLS mutual 验证进行保护。inter-router
SSL Profile 包含 Operator 生成的证书详情。 - 5
- 每个 interior 路由器侦听来自以下端口的外部客户端的连接:
-
5672
- 从消息传递应用程序取消安全连接。 -
5671
- 从消息传递应用程序的安全连接。 -
8080
- AMQ Interconnect Web 控制台访问。应用默认用户名/密码安全性。
-
- 6
- 使用 Red Hat Integration - AMQ Certificate Manager Operator,Red Hat Integration - AMQ Interconnect Operator 会自动创建两个 SSL 配置集:
-
inter-router
- Operator 通过创建证书颁发机构(CA)并为每个间路由器生成 CA 签名的证书,从而保护路由器的 inter-router 网络与 mutual TLS 身份验证的安全。 -
Default
- Operator 为消息应用程序创建 TLS 证书,以连接到端口5671
上的 interior 路由器。
-
- 7
- AMQ Interconnect web 控制台使用用户名/密码身份验证进行保护。Operator 会自动生成凭证并将其存储在
router-mesh-users
Secret 中。