2.3. RPM 企业拓扑
企业拓扑主要用于需要 Ansible Automation Platform 部署,具有冗余或更高的计算以实现大量自动化。
2.3.1. 基础架构拓扑
下图显示了红帽已经测试过此部署模型的基础架构拓扑,供客户在自我管理 Ansible Automation Platform 时使用:
图 2.3. 基础架构拓扑图
每个虚拟机(VM)已使用以下组件要求进行测试:16 GB RAM、4 个 CPU、60 GB 本地磁盘和 3000 IOPS。
VM 数量 | 用途 | VM 组名称示例 |
---|---|---|
2 | 带有 colocated Redis 的平台网关 |
|
2 | 自动化控制器 |
|
2 | 带有 colocated Redis 的私有自动化中心 |
|
2 | 带有 colocated Redis 的 event-Driven Ansible |
|
1 | 自动化网格跃点节点 |
|
2 | 自动化网格执行节点 |
|
1 | 外部管理的数据库服务 | N/A |
1 | 平台网关前面的 HAProxy 负载均衡器(外部管理) | N/A |
兼容 Redis 高可用性(HA)部署需要 6 个虚拟机。Redis 可以在每个 Ansible Automation Platform 组件虚拟机上并置,但自动化控制器、执行节点或 PostgreSQL 数据库除外。
2.3.2. 测试的系统配置
红帽已测试了以下配置来安装和运行 Red Hat Ansible Automation Platform:
类型 | 描述 |
---|---|
订阅 | 有效的 Red Hat Ansible Automation Platform 订阅 |
操作系统 | Red Hat Enterprise Linux 9.2 或更高版本 x86_64 和 AArch64 |
ansible-core | ansible-core 版本 2.16 或更高版本 |
浏览器 | 当前支持的 Mozilla Firefox 或 Google Chrome 版本 |
数据库 | PostgreSQL 15 |
2.3.3. 网络端口
Red Hat Ansible Automation Platform 使用多个端口与其服务进行通信。这些端口必须处于打开状态,并可用于 Red Hat Ansible Automation Platform 服务器的传入连接,以便它正常工作。确保这些端口可用,且服务器防火墙不会阻止。
端口号 | 协议 | 服务 | Source | 目的地 |
---|---|---|---|---|
80/443 | TCP | HTTP/HTTPS | Event-Driven Ansible | Automation hub |
80/443 | TCP | HTTP/HTTPS | Event-Driven Ansible | 自动化控制器 |
80/443 | TCP | HTTP/HTTPS | 自动化控制器 | Automation hub |
443 | TCP | HTTPS | HAProxy 负载均衡器 | 平台网关 |
443 | TCP | HTTPS | 平台网关 | 自动化控制器 |
443 | TCP | HTTPS | 平台网关 | Automation hub |
443 | TCP | HTTPS | 平台网关 | Event-Driven Ansible |
5432 | TCP | PostgreSQL | Event-Driven Ansible | 外部数据库 |
5432 | TCP | PostgreSQL | 平台网关 | 外部数据库 |
5432 | TCP | PostgreSQL | Automation hub | 外部数据库 |
5432 | TCP | PostgreSQL | 自动化控制器 | 外部数据库 |
27199 | TCP | Receptor | 自动化控制器 | hop 节点和执行节点 |
27199 | TCP | Receptor | hop 节点 | 执行节点 |
6379 | TCP | Redis | Event-Driven Ansible | Redis 节点 |
6379 | TCP | Redis | 平台网关 | Redis 节点 |
16379 | TCP | Redis | Redis 节点 | Redis 节点 |
8443 | TCP | HTTPS | 平台网关 | 平台网关 |
50051 | TCP | gRPC | 平台网关 | 平台网关 |
2.3.4. 企业清单文件示例
使用示例清单文件为此拓扑执行安装:
# This is the enterprise installer inventory file # Please consult the docs if you are unsure what to add # For all optional variables please consult the Red Hat documentation: # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/rpm_installation # This section is for your platform gateway hosts # ----------------------------------------------------- [automationgateway] gateway1.example.org gateway2.example.org # This section is for your automation controller hosts # ----------------------------------------------------- [automationcontroller] controller1.example.org controller2.example.org [automationcontroller:vars] peers=execution_nodes # This section is for your Ansible Automation Platform execution hosts # ----------------------------------------------------- [execution_nodes] hop1.example.org node_type='hop' exec1.example.org exec2.example.org # This section is for your automation hub hosts # ----------------------------------------------------- [automationhub] hub1.example.org hub2.example.org # This section is for your Event-Driven Ansible controller hosts # ----------------------------------------------------- [automationedacontroller] eda1.example.org eda2.example.org [redis] gateway1.example.org gateway2.example.org hub1.example.org hub2.example.org eda1.example.org eda2.example.org [all:vars] # Common variables # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/rpm_installation/appendix-inventory-files-vars#ref-general-inventory-variables # ----------------------------------------------------- registry_username=<your RHN username> registry_password=<your RHN password> # Platform gateway # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/rpm_installation/appendix-inventory-files-vars#ref-gateway-variables # ----------------------------------------------------- automationgateway_admin_password=<set your own> automationgateway_pg_host=<set your own> automationgateway_pg_database=<set your own> automationgateway_pg_username=<set your own> automationgateway_pg_password=<set your own> # Automation controller # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/rpm_installation/appendix-inventory-files-vars#ref-controller-variables # ----------------------------------------------------- admin_password=<set your own> pg_host=<set your own> pg_database=<set your own> pg_username=<set your own> pg_password=<set your own> # Automation hub # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/rpm_installation/appendix-inventory-files-vars#ref-hub-variables # ----------------------------------------------------- automationhub_admin_password=<set your own> automationhub_pg_host=<set your own> automationhub_pg_database=<set your own> automationhub_pg_username=<set your own> automationhub_pg_password=<set your own> # Event-Driven Ansible controller # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/rpm_installation/appendix-inventory-files-vars#event-driven-ansible-controller # ----------------------------------------------------- automationedacontroller_admin_password=<set your own> automationedacontroller_pg_host=<set your own> automationedacontroller_pg_database=<set your own> automationedacontroller_pg_username=<set your own> automationedacontroller_pg_password=<set your own>