3.2. 容器企业拓扑
企业拓扑主要用于需要 Ansible Automation Platform 部署,具有冗余或更高的计算以实现大量自动化。
3.2.1. 基础架构拓扑
下图显示了红帽已经测试过此部署模型的基础架构拓扑,供客户在自我管理 Ansible Automation Platform 时使用:
图 3.2. 基础架构拓扑图
每个虚拟机都已测试有以下组件要求: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 数据库除外。
3.2.2. 测试的系统配置
红帽已测试了以下配置来安装和运行 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 |
3.2.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 节点 |
8433 | TCP | HTTPS | 平台网关 | 平台网关 |
50051 | TCP | gRPC | 平台网关 | 平台网关 |
3.2.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 included README.md # or the Red Hat documentation: # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_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 # This section is for your Ansible Automation Platform execution hosts # ----------------------------------------------------- [execution_nodes] hop1.example.org receptor_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 # ----------------------------------------------------- [automationeda] 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/containerized_installation/appendix-inventory-files-vars#ref-general-inventory-variables # ----------------------------------------------------- postgresql_admin_username=<set your own> postgresql_admin_password=<set your own> 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/containerized_installation/appendix-inventory-files-vars#ref-gateway-variables # ----------------------------------------------------- gateway_admin_password=<set your own> gateway_pg_host=externaldb.example.org gateway_pg_database=<set your own> gateway_pg_username=<set your own> gateway_pg_password=<set your own> # Automation controller # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#ref-controller-variables # ----------------------------------------------------- controller_admin_password=<set your own> controller_pg_host=externaldb.example.org controller_pg_database=<set your own> controller_pg_username=<set your own> controller_pg_password=<set your own> # Automation hub # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#ref-hub-variables # ----------------------------------------------------- hub_admin_password=<set your own> hub_pg_host=externaldb.example.org hub_pg_database=<set your own> hub_pg_username=<set your own> hub_pg_password=<set your own> # Event-Driven Ansible controller # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#event-driven-ansible-controller # ----------------------------------------------------- eda_admin_password=<set your own> eda_pg_host=externaldb.example.org eda_pg_database=<set your own> eda_pg_username=<set your own> eda_pg_password=<set your own>
3.2.5. 存储要求
-
执行环境拉取到运行作业的自动化控制器混合节点和执行节点中。这些容器的大小会影响
$PATH_WHERE_PODMAN_PUTS_CONTAINER_IMAGES
的存储要求。 数据库及其存储卷的大小的主要决定因素,默认为
$POSTGRES_DEFAULT_DATA_DIR
:- 作业事件数量(自动化控制器作业的输出行)
- 保留的作业数据的天数
-
在执行节点和自动化控制器控制和混合节点上,作业输出将被缓冲为
$NAME_OF_RECEPTOR_DIR_VAR
中的磁盘,默认为/tmp
。 -
同步到自动化中心的集合大小和数量会影响
$PATH_WHERE_PULP_STORES_COLLECTIONS
的存储要求。