第 6 章 网络端口和协议
Red Hat Ansible Automation Platform 使用多个端口与其服务进行通信。这些端口必须处于打开状态,并可用于到 Red Hat Ansible Automation Platform 服务器的传入连接,以便它正常工作。确保这些端口可用,且服务器防火墙不会阻止。
以下架构图是完全部署的 Ansible Automation Platform 的示例,其中包含所有可能的组件。
在以下一些用例中,使用 hop 节点而不是来自执行节点的直接链接。hop 节点是连接控制和执行节点的选项。hop 节点使用最小 CPU 和内存,因此垂直扩展跃点节点不会影响系统容量。
以下 diagraam 显示了 Ansible Automation Platform 组件之间发起的连接。客户端和自动化 hub、Event-Driven Ansible 和自动化控制器之间的直接连接只适用于从 Red Hat Ansible Automation Platform 2.4 升级到 Red Hat Ansible Automation Platform 2.5 的系统,以提供向后兼容性。
图 6.1. Ansible Automation Platform 客户端发起网络端口和协议
下图显示了新安装 Red Hat Ansible Automation Platform 2.5 的 Ansible Automation Platform 组件之间的内部启动连接。
图 6.2. Ansible Automation Platform 内部启动的网络端口和协议
下表指明了目的地端口和网络流量的方向:
以下列出的默认目标端口和安装程序清单可以配置。如果您选择配置它们以适合您的环境,您可能会遇到行为的变化。
| 节点 | port | Source | 协议 | 服务 | 需要的目的 | 安装程序清单变量 |
|---|---|---|---|---|---|---|
| Automation hub | 22 | 安装程序节点 | TCP | SSH | 管理 Ansible Automation Platform
|
|
| Automation hub | 80/443 | 安装程序节点 | TCP | HTTP/HTTPS | 在使用捆绑包安装程序时,启用安装程序节点将执行环境镜像推送到自动化中心。 |
|
| Automation hub | 80/443 | 自动化控制器 | TCP | HTTP/HTTPS | 拉取集合 | |
| Automation hub | 80/443 | event-Driven Ansible 节点 | TCP | HTTP/HTTPS | 拉取容器决策环境 | |
| Automation hub | 80/443 | 执行节点 | TCP | HTTP/HTTPS | 允许执行节点从自动化中心拉取执行环境镜像 | |
| Automation hub | 80/443 | 网关负载均衡器/Ingress 节点 | TCP | HTTP/HTTPS | 仅在直接从平台网关访问组件时才相关 |
|
| Automation hub | 443 | 平台网关 | TCP | HTTPS | 平台网关和 Ansible Automation Platform 组件之间的链接 | |
| Automation hub | 6379 | Event-Driven Ansible | TCP | Redis | ||
| 自动化控制器 | 22 | 安装程序节点 | TCP | SSH | 管理 Ansible Automation Platform
|
|
| 自动化控制器 | 80/443 | Event-Driven Ansible | TCP | HTTP/HTTPS | 启动自动化控制器作业 | |
| 自动化控制器 | 80/443 | 平台网关 | TCP | HTTP/HTTPS | 平台网关和 Ansible Automation Platform 组件之间的链接 | |
| 自动化控制器 | 80/443 | 网关负载均衡器/Ingress 节点 | TCP | HTTP/HTTPS | 仅在直接从平台网关访问组件时才相关 | |
| 自动化控制器 | 27199 | 执行节点 | TCP | Receptor | 可配置 与控制器直接对等的 Mesh 节点。 涉及的直接节点。 执行节点支持通过端口 27199 进行双向通信。这是通过安装清单在 RPM 安装中建立的。您可以以任一方向建立连接。但是,一旦建立的通信始终是双向的。 有关在清单脚本中使用对等的更多信息,请参阅 定义自动化网格节点类型 |
|
| Event-Driven Ansible | 22 | 安装程序节点 | TCP | SSH | 管理 Ansible Automation Platform
|
|
| Event-Driven Ansible | 80/443 | 平台网关 | TCP | HTTP/HTTPS | 平台网关和 Ansible Automation Platform 组件之间的链接 | |
| Event-Driven Ansible | 80/443 | 网关负载均衡器/Ingress 节点 | TCP | HTTP/HTTPS | 仅在直接从平台网关访问组件时才相关 | `automationgateway_main_url |
| Event-Driven Ansible | 8443 | 平台网关 | TCP | HTTPS | 接收事件流流量 | |
| 执行节点 | 22 | 安装程序节点 | TCP | SSH | 管理 Ansible Automation Platform
|
|
| 执行节点 | 443 | 网关负载均衡器/Ingress 节点 | TCP | HTTPS |
| |
| 执行节点 | 27199 | 自动化控制器 | TCP | Receptor | 可配置 与控制器直接对等的 Mesh 节点。 涉及的直接节点。 执行节点支持通过端口 27199 进行双向通信。这是通过安装清单在 RPM 安装中建立的。您可以以任一方向建立连接。但是,一旦建立的通信始终是双向的。 有关在清单脚本中使用对等的更多信息,请参阅 定义自动化网格节点类型 |
|
| 执行节点 | 27199 | OpenShift Container Platform | TCP | Receptor | ||
| hop 节点 | 22 | 安装程序节点 | TCP | SSH | 管理 Ansible Automation Platform
|
|
| hop 节点 | 27199 | 自动化控制器 | TCP | Receptor | 如果通过跃点节点转发,可配置从跃点节点到 Receptor 端口的 ENABLE 连接。 |
|
| hop 节点 | 27199 | 执行节点 | TCP | Receptor | 可配置 与控制器直接对等的 Mesh 节点。 涉及的直接节点。 执行节点支持通过端口 27199 进行双向通信。这是通过安装清单在 RPM 安装中建立的。您可以以任一方向建立连接。但是,一旦建立的通信始终是双向的。 有关在清单脚本中使用对等的更多信息,请参阅 定义自动化网格节点类型 |
|
| 混合节点 | 22 | 安装程序节点 | TCP | SSH | 管理 Ansible Automation Platform
|
|
| 混合节点 | 27199 | 自动化控制器 | TCP | Receptor | 如果通过非连接的节点转发,可配置从自动化控制器到 Receptor 端口的 ENABLE 连接。 |
|
| PostgreSQL 数据库 | 22 | 安装程序节点 | TCP | SSH | 管理 Ansible Automation Platform
|
|
| PostgreSQL 数据库 | 5432 | 自动化控制器 | TCP | PostgreSQL | 仅在将内部数据库与另一个组件一起使用时才打开。否则,不应打开此端口。 |
|
| PostgreSQL 数据库 | 5432 | Event-Driven Ansible | TCP | PostgreSQL | 仅在将内部数据库与另一个组件一起使用时才打开。否则,不应打开此端口。 |
|
| PostgreSQL | 5432 | Automation hub | TCP | PostgreSQL | 仅在将内部数据库与另一个组件一起使用时才打开。否则,不应该打开此端口 |
|
| OpenShift Container Platform | 6443 | 自动化控制器 | TCP | HTTP/HTTPS | 仅在使用容器组运行作业时才需要。 | OpenShift API 服务器的主机名 |
| Redis 节点 | 6379 | 自动化控制器 | TCP | Redis | 任务启动 | |
| Redis 节点 | 6379 | Event-Driven Ansible | TCP | Redis | 任务启动 | |
| Redis 节点 | 6379 | Automation hub | TCP | Redis | 任务启动 | |
| Redis 节点 | 6379 | 平台网关 | TCP | Redis | 数据存储和检索 | |
| Redis 节点 | 16379 | Redis 节点 | TCP | Redis | 用于弹性 Redis 配置的 redis 集群总线端口 | |
| Mesh ingress | 443 | 执行节点 | Receptor | HTTPS | 如果使用 mesh ingress,请确保允许从执行节点到 OpenShift 路由 URL 的出站 HTTPS (端口 443)。 | |
| 平台网关 | 8443 | 平台网关 | TCP | HTTPS | nginx |
- 混合节点充当控制和执行节点的组合,因此混合节点共享这两者的连接。
-
如果定义了
receptor_listener_port,机器还需要一个可用的开放端口来建立入站 TCP 连接,例如 27199。 可能是有些服务器没有侦听 receptor 端口(默认值为 27199)
假设您有一个带有节点 A、B、C、D 的 Control plane
RPM 安装程序使用最低特权方法在 control plane 节点之间创建高度连接的对等点,并仅在需要它的那些节点上打开 tcp 侦听器。所有 receptor 连接都是双向的,因此在创建连接后,receptor 可以在两个方向通信。
以下是三个控制器节点的对等设置示例:
Controller 节点 A -→ Controller 节点 B
Controller 节点 A -→ Controller 节点 C
Controller 节点 B -→ Controller 节点 C
您可以通过设置强制监听程序
receptor_listener=True但是,连接 Controller B -→ A 可能会被拒绝,因为连接已存在。
这意味着没有连接到 Controller A,因为 Controller A 会创建与其他节点的连接,以下命令不会在 Controller A 上返回任何内容:
[root@controller1 ~]# ss -ntlp | grep 27199 [root@controller1 ~]#
| URL | 需要的目的 |
|---|---|
| 通用帐户服务、订阅 | |
| Insights 数据上传 | |
| 清单上传和云连接器连接 | |
| 访问 Insights 仪表板 |
| URL | 需要的目的 |
|---|---|
| 通用帐户服务、订阅 | |
| 索引执行环境 | |
| TCP | |
|
https://automation-hub-prd.s3.amazonaws.com | 防火墙访问 |
| Ansible 社区策展的 Ansible 内容 | |
| https://ansible-galaxy-ng.s3.dualstack.us-east-1.amazonaws.com | 社区策展 Ansible 内容存储库的双栈 IPv6 端点 |
| 访问由红帽和合作伙伴提供的容器镜像 | |
| 红帽和合作伙伴策展的 Ansible 集合 |
| URL | 需要的目的 |
|---|---|
| 访问由红帽和合作伙伴提供的容器镜像 | |
|
| 访问由红帽和合作伙伴提供的容器镜像 |
|
| 访问由红帽和合作伙伴提供的容器镜像 |
|
| 访问由红帽和合作伙伴提供的容器镜像 |
|
| 访问由红帽和合作伙伴提供的容器镜像 |
从 2025 年 4 月 1 日起, quay.io 正在添加三个额外的端点。因此,客户必须调整防火墙系统列表中的允许/块列表,使其包含以下端点:
-
cdn04.quay.io -
cdn05.quay.io -
cdn06.quay.io
为了避免拉取容器镜像出现问题,客户必须将出站 TCP 连接(端口 80 和 443)到以下主机名:
-
cdn.quay.io -
cdn01.quay.io -
cdn02.quay.io -
cdn03.quay.io -
cdn04.quay.io -
cdn05.quay.io -
cdn06.quay.io
此更改应针对用于启用到 registry.redhat.io 或 registry.access.redhat.com 的出站连接的任何防火墙配置进行修改。
在配置防火墙规则时使用主机名而不是 IP 地址。
完成此更改后,您可以继续从 registry.redhat.io 或 registry.access.redhat.com 拉取镜像。您不需要 quay.io 登录,或以任何方式直接与 quay.io registry 交互,以继续拉取红帽容器镜像。
如需更多信息,请参阅容器镜像防火墙更改 2024/2025。