Share Feedback to help us keep improving.
Questo contenuto non è disponibile nella lingua selezionata.
Chapter 2. Container topologies
Ansible Automation Platform provides tested topologies for containerized Ansible Automation Platform. Select the topology that best fits your container-based deployment requirements.
2.1. Container growth topology Copia collegamentoCollegamento copiato negli appunti!
The container-based growth topology provides a smaller footprint deployment without redundancy for organizations getting started with Ansible Automation Platform. Included are the tested infrastructure topology, system requirements, network port configurations, and an example inventory file for installation.
2.1.1. Infrastructure topology Copia collegamentoCollegamento copiato negli appunti!
The Red Hat tested infrastructure topology for this deployment model:
Figure 2.1. Infrastructure topology diagram
Red Hat tests a single VM with these requirements:
| Requirement | Minimum requirement |
|---|---|
| RAM |
|
| CPUs | 4 |
| Local disk |
|
| Disk IOPS | 3000 |
| Purpose | Example group names |
|---|---|
| All Ansible Automation Platform components |
|
2.1.2. Tested system configurations Copia collegamentoCollegamento copiato negli appunti!
Red Hat has tested these configurations to install and run Red Hat Ansible Automation Platform:
| Type | Description | Notes |
|---|---|---|
| Subscription |
| |
| Operating system |
| |
| CPU architecture | x86_64, AArch64, s390x (IBM Z), ppc64le (IBM Power) | |
|
|
|
|
| Browser | A currently supported version of Mozilla Firefox or Google Chrome. | |
| Database |
|
|
| IP version | IPv4, IPv6 (single-stack and dual-stack) |
2.1.3. Network ports Copia collegamentoCollegamento copiato negli appunti!
Red Hat Ansible Automation Platform uses several ports to communicate with its services. These ports must be open and available for Red Hat Ansible Automation Platform to work. Ensure that these ports are available and are not blocked by a firewall.
| Port number | Protocol | Service | Source | Destination | Description |
|---|---|---|---|---|---|
| 80/443 | TCP | HTTP/HTTPS | Event-Driven Ansible | Automation hub | Pull container decision environments |
| 80/443 | TCP | HTTP/HTTPS | Event-Driven Ansible | Automation controller | Launch automation controller jobs |
| 80/443 | TCP | HTTP/HTTPS | Automation controller | Automation hub | Pull collections and execution environment images |
| 80/443 | TCP | HTTP/HTTPS | Platform gateway | Automation controller | Platform gateway to automation controller communication |
| 80/443 | TCP | HTTP/HTTPS | Platform gateway | Automation hub | Platform gateway to automation hub communication |
| 80/443 | TCP | HTTP/HTTPS | Platform gateway | Event-Driven Ansible | Platform gateway to Event-Driven Ansible communication |
| 5432 | TCP | PostgreSQL | Event-Driven Ansible | Database | Event-Driven Ansible database access |
| 5432 | TCP | PostgreSQL | Platform gateway | Database | Platform gateway database access |
| 5432 | TCP | PostgreSQL | Automation hub | Database | Automation hub database access |
| 5432 | TCP | PostgreSQL | Automation controller | Database | Automation controller database access |
| 6379 | TCP | Redis | Event-Driven Ansible | Redis container | Job launching and data storage for Event-Driven Ansible |
| 6379 | TCP | Redis | Platform gateway | Redis container | Data storage and retrieval for platform gateway services |
| 8443 | TCP | HTTPS | Platform gateway | Platform gateway | Internal gateway NGINX communication |
| 27199 | TCP | Receptor | Automation controller | Execution container | Mesh nodes connect directly to controllers. Allows two-way communication for job distribution. |
| 8080/8443 | TCP | HTTP/HTTPS | Platform gateway | Automation controller |
Automation controller NGINX ports. You can configure these ports with the following inventory variables: |
| 8081/8444 | TCP | HTTP/HTTPS | Platform gateway | Automation hub |
Automation hub NGINX ports. You can configure these ports with the following inventory variables: |
| 8082/8445 | TCP | HTTP/HTTPS | Platform gateway | Event-Driven Ansible |
Event-Driven Ansible NGINX ports. You can configure these ports with the following inventory variables: |
| 8083/8446 | TCP | HTTP/HTTPS | Platform gateway | Platform gateway |
Platform gateway NGINX ports. You can configure these ports with the following inventory variables: |
If you change any port values by using inventory variables, refer to Inventory file variables to review all default port values and ensure there are no port conflicts.
2.1.4. Example inventory file Copia collegamentoCollegamento copiato negli appunti!
Use the example inventory file to perform an installation:
# This is the Ansible Automation Platform installer inventory file intended for the container growth deployment topology.
# This inventory file expects to be run from the host where Ansible Automation Platform will be installed.
# Consult the Ansible Automation Platform product documentation about this topology's tested hardware configuration.
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/html/tested_deployment_models/container-topologies
#
# Consult the docs if you are unsure what to add
# For all optional variables consult the included README.md
# or the Ansible Automation Platform documentation:
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/html/containerized_installation
# This section is for your platform gateway hosts
# -----------------------------------------------------
[automationgateway]
aap.example.org
# This section is for your automation controller hosts
# -----------------------------------------------------
[automationcontroller]
aap.example.org
# This section is for your automation hub hosts
# -----------------------------------------------------
[automationhub]
aap.example.org
# This section is for your Event-Driven Ansible controller hosts
# -----------------------------------------------------
[automationeda]
aap.example.org
# This section is for the Ansible Automation Platform database
# -----------------------------------------------------
[database]
aap.example.org
[all:vars]
# Ansible
ansible_connection=local
# Common variables
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/html/containerized_installation/appendix-inventory-files-vars#general-variables
# -----------------------------------------------------
postgresql_admin_username=postgres
postgresql_admin_password=<set your own>
registry_username=<your RHN username>
registry_password=<your RHN password>
redis_mode=standalone
# Platform gateway
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/html/containerized_installation/appendix-inventory-files-vars#platform-gateway-variables
# -----------------------------------------------------
gateway_admin_password=<set your own>
gateway_pg_host=aap.example.org
gateway_pg_password=<set your own>
# Automation controller
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/html/containerized_installation/appendix-inventory-files-vars#controller-variables
# -----------------------------------------------------
controller_admin_password=<set your own>
controller_pg_host=aap.example.org
controller_pg_password=<set your own>
controller_percent_memory_capacity=0.5
# Automation hub
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/html/containerized_installation/appendix-inventory-files-vars#hub-variables
# -----------------------------------------------------
hub_admin_password=<set your own>
hub_pg_host=aap.example.org
hub_pg_password=<set your own>
hub_seed_collections=false
# Event-Driven Ansible controller
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/html/containerized_installation/appendix-inventory-files-vars#event-driven-ansible-variables
# -----------------------------------------------------
eda_admin_password=<set your own>
eda_pg_host=aap.example.org
eda_pg_password=<set your own>
SSH keys are only required when installing on remote hosts. If doing a self contained local VM based installation, you can use ansible_connection=local.
2.2. Container enterprise topology Copia collegamentoCollegamento copiato negli appunti!
The container-based enterprise topology provides redundancy and higher compute for large volumes of automation. Included are the tested infrastructure topology, system requirements, network port configurations, and an example inventory file for installation.
2.2.1. Infrastructure topology Copia collegamentoCollegamento copiato negli appunti!
The Red Hat tested infrastructure topology for this deployment model:
Figure 2.2. Infrastructure topology diagram
Red Hat tests each VM with these requirements:
| Requirement | Minimum requirement |
|---|---|
| RAM | 16 GB |
| CPUs | 4 |
| Local disk |
|
| Disk IOPS | 3000 |
| VM count | Purpose | Example VM group names |
|---|---|---|
| 2 | Platform gateway with colocated Redis |
|
| 2 | Automation controller |
|
| 2 | Private automation hub with colocated Redis |
|
| 2 | Event-Driven Ansible with colocated Redis |
|
| 1 | Automation mesh hop node |
|
| 2 | Automation mesh execution node |
|
| 1 | Externally managed database service | N/A |
| 1 | HAProxy load balancer in front of platform gateway (externally managed) | N/A |
- 6 VMs are required for a Redis high availability (HA) compatible deployment. When installing Ansible Automation Platform with the containerized installer, Redis can be colocated on any Ansible Automation Platform component VMs of your choice except for execution nodes or the PostgreSQL database. They might also be assigned VMs specifically for Redis use.
- External Redis is not supported for containerized Ansible Automation Platform.
2.2.2. Tested system configurations Copia collegamentoCollegamento copiato negli appunti!
Red Hat has tested these configurations to install and run Red Hat Ansible Automation Platform:
| Type | Description | Notes |
|---|---|---|
| Subscription |
| |
| Operating system |
| |
| CPU architecture | x86_64, AArch64, s390x (IBM Z), ppc64le (IBM Power) | |
|
|
|
|
| Browser | A currently supported version of Mozilla Firefox or Google Chrome. | |
| Database |
|
|
| IP version | IPv4, IPv6 (single-stack and dual-stack) |
2.2.3. Network ports Copia collegamentoCollegamento copiato negli appunti!
Red Hat Ansible Automation Platform uses several ports to communicate with its services. These ports must be open and available for Red Hat Ansible Automation Platform to work. Ensure that these ports are available and are not blocked by a firewall.
| Port number | Protocol | Service | Source | Destination | Description |
|---|---|---|---|---|---|
| 80/443 | TCP | HTTP/HTTPS | Event-Driven Ansible | Automation hub | Pull container decision environments |
| 80/443 | TCP | HTTP/HTTPS | Event-Driven Ansible | Automation controller | Launch automation controller jobs |
| 80/443 | TCP | HTTP/HTTPS | Automation controller | Automation hub | Pull collections and execution environment images |
| 80/443 | TCP | HTTP/HTTPS | HAProxy load balancer | Platform gateway | External load balancer access |
| 80/443 | TCP | HTTP/HTTPS | Platform gateway | Automation controller | Platform gateway to automation controller communication |
| 80/443 | TCP | HTTP/HTTPS | Platform gateway | Automation hub | Platform gateway to automation hub communication |
| 80/443 | TCP | HTTP/HTTPS | Platform gateway | Event-Driven Ansible | Platform gateway to Event-Driven Ansible communication |
| 5432 | TCP | PostgreSQL | Event-Driven Ansible | External database | Event-Driven Ansible database access |
| 5432 | TCP | PostgreSQL | Platform gateway | External database | Platform gateway database access |
| 5432 | TCP | PostgreSQL | Automation hub | External database | Automation hub database access |
| 5432 | TCP | PostgreSQL | Automation controller | External database | Automation controller database access |
| 6379 | TCP | Redis | Event-Driven Ansible | Redis node | Job launching and data storage for Event-Driven Ansible |
| 6379 | TCP | Redis | Platform gateway | Redis node | Data storage and retrieval for platform gateway services |
| 16379 | TCP | Redis | Redis node | Redis node | Redis cluster bus communication |
| 27199 | TCP | Receptor | Automation controller | Hop node and execution node | Mesh nodes connect directly to controllers. Allows two-way communication for job distribution. |
| 27199 | TCP | Receptor | Hop node | Execution node | Mesh nodes connect through hop nodes. Allows two-way communication in either direction. |
| 8080/8443 | TCP | HTTP/HTTPS | Platform gateway | Automation controller |
Automation controller NGINX ports. You can configure these ports with the following inventory variables: |
| 8081/8444 | TCP | HTTP/HTTPS | Platform gateway | Automation hub |
Automation hub NGINX ports. You can configure these ports with the following inventory variables: |
| 8082/8445 | TCP | HTTP/HTTPS | Platform gateway | Event-Driven Ansible |
Event-Driven Ansible NGINX ports. You can configure these ports with the following inventory variables: |
| 8083/8446 | TCP | HTTP/HTTPS | Platform gateway | Platform gateway |
Platform gateway NGINX ports. You can configure these ports with the following inventory variables: |
If you change any port values by using inventory variables, refer to Inventory file variables to review all default port values and ensure there are no port conflicts.
2.2.4. Example inventory file Copia collegamentoCollegamento copiato negli appunti!
Use the example inventory file to perform an installation:
# This is the Ansible Automation Platform enterprise installer inventory file
# Consult the docs if you are unsure what to add
# For all optional variables consult the included README.md
# or the Red Hat documentation:
# https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.6/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.6/html/containerized_installation/appendix-inventory-files-vars#general-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.6/html/containerized_installation/appendix-inventory-files-vars#platform-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.6/html/containerized_installation/appendix-inventory-files-vars#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.6/html/containerized_installation/appendix-inventory-files-vars#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.6/html/containerized_installation/appendix-inventory-files-vars#event-driven-ansible-variables
# -----------------------------------------------------
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>