Ce contenu n'est pas disponible dans la langue sélectionnée.
Chapter 3. Operator topologies
Ansible Automation Platform provides tested topologies for Ansible Automation Platform on OpenShift Container Platform. Select the topology that best fits your Operator-based deployment requirements.
You can only install a single instance of the Ansible Automation Platform Operator into a single namespace. Installing multiple instances in the same namespace can lead to improper operation for both Operator instances.
3.1. Operator growth topology Copier lienLien copié sur presse-papiers!
The Operator-based growth topology provides a smaller footprint deployment without redundancy for organizations getting started with Ansible Automation Platform on Red Hat OpenShift Container Platform. Included are the tested infrastructure topology, system requirements, network port configurations, and an example custom resource file for installation.
3.1.1. Infrastructure topology Copier lienLien copié sur presse-papiers!
The Red Hat tested infrastructure topology for this deployment model:
Figure 3.1. Infrastructure topology diagram
While Redis and PostgreSQL can be installed as part of the operator-based installation process, the topology diagram represents a Red Hat supported topology where both Redis and PostgreSQL are external to Ansible Automation Platform.
Red Hat tests a Single Node OpenShift (SNO) cluster with these requirements: 32 GB RAM, 16 CPUs, 128 GB local disk, and 3000 IOPS.
| Count | Component |
|---|---|
| 1 | Automation controller web pod |
| 1 | Automation controller task pod |
| 1 | Automation hub web pod |
| 1 | Automation hub API pod |
| 2 | Automation hub content pod |
| 2 | Automation hub worker pod |
| 1 | Automation hub Redis pod |
| 1 | Event-Driven Ansible API pod |
| 1 | Event-Driven Ansible activation worker pod |
| 1 | Event-Driven Ansible default worker pod |
| 1 | Event-Driven Ansible event stream pod |
| 1 | Event-Driven Ansible scheduler pod |
| 1 | Platform gateway pod |
| 1 | Database pod |
| 1 | Redis pod |
You can deploy multiple isolated instances of Ansible Automation Platform into the same Red Hat OpenShift Container Platform cluster. To do this, use a namespace-scoped deployment model (isolated within a namespace).
This approach allows you to use the same cluster for several deployments.
3.1.2. Tested system configurations Copier lienLien copié sur presse-papiers!
Red Hat has tested these configurations to install and run Red Hat Ansible Automation Platform:
| Type | Description | Notes |
|---|---|---|
| Subscription | Valid Red Hat Ansible Automation Platform subscription | |
| Red Hat OpenShift |
| |
| Ansible-core | Ansible-core version 2.16 or later | |
| Browser | A currently supported version of Mozilla Firefox or Google Chrome. | |
| Database |
|
|
3.1.3. Example custom resource file Copier lienLien copié sur presse-papiers!
Use this example custom resource (CR) to add your Ansible Automation Platform instance to your project:
3.1.4. Nonfunctional requirements Copier lienLien copié sur presse-papiers!
Ansible Automation Platform’s performance characteristics and capacity depend on its resource allocation and configuration. With OpenShift, each Ansible Automation Platform component deploys as a pod. You can specify resource requests and limits for each pod.
Use the Ansible Automation Platform Custom Resource (CR) to configure resource allocation for OpenShift installations. Each configurable item has default settings. These settings are the minimum requirements for an installation, but might not meet your production workload needs.
By default, each component’s deployments use minimum resource requests but no resource limits. OpenShift only schedules pods with available resource requests, but the pods can consume unlimited RAM or CPU as long as the OpenShift worker node itself is not under node pressure.
In the Operator growth topology, Ansible Automation Platform runs on a Single Node OpenShift (SNO) with 32 GB RAM, 16 CPUs, 128 GB local disk, and 3000 IOPS. This is not a shared environment, so Ansible Automation Platform pods have full access to all of the compute resources of the OpenShift SNO. In this scenario, the capacity calculation for automation controller task pods comes from the underlying OpenShift Container Platform node that runs the pod. It does not have access to the entire node. This capacity calculation influences how many concurrent jobs automation controller can run.
OpenShift manages storage distinctly from VMs. This impacts how automation hub stores its artifacts. In the Operator growth topology, the topology uses S3 storage because automation hub requires a ReadWriteMany type storage, which is not a default storage type in OpenShift.
3.1.5. Network ports Copier lienLien copié sur presse-papiers!
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 |
|---|---|---|---|---|
| 80/443 | HTTP/HTTPS | Receptor | Execution node | OpenShift Container Platform ingress |
| 80/443 | HTTP/HTTPS | Receptor | Hop node | OpenShift Container Platform ingress |
| 80/443 | HTTP/HTTPS | Platform | Customer clients | OpenShift Container Platform ingress |
| 27199 | TCP | Receptor | OpenShift Container Platform cluster | Execution node |
| 27199 | TCP | Receptor | OpenShift Container Platform cluster | Hop node |
3.2. Operator enterprise topology Copier lienLien copié sur presse-papiers!
The Operator-based enterprise topology provides redundancy and higher compute for large volumes of automation on Red Hat OpenShift Container Platform. The Ansible Automation Platform Service on AWS is an example of an OpenShift Operator based enterprise topology. Included are the tested infrastructure topology, system requirements, network port configurations, and an example custom resource file for installation.
3.2.1. Infrastructure topology Copier lienLien copié sur presse-papiers!
The Red Hat tested infrastructure topology for this deployment model:
Figure 3.2. Infrastructure topology diagram
While Redis and PostgreSQL can be installed as part of the operator-based installation process, the topology diagram represents a Red Hat supported topology where both Redis and PostgreSQL are external to Ansible Automation Platform.
This infrastructure topology describes an OpenShift Cluster with 3 primary nodes and 2 worker nodes.
Red Hat tests each OpenShift Worker node with these requirements: 16 GB RAM, 4 CPUs, 128 GB local disk, and 3000 IOPS.
| Count | Component |
|---|---|
| 1 | Automation controller web pod |
| 1 | Automation controller task pod |
| 1 | Automation hub web pod |
| 1 | Automation hub API pod |
| 2 | Automation hub content pod |
| 2 | Automation hub worker pod |
| 1 | Automation hub Redis pod |
| 1 | Event-Driven Ansible API pod |
| 2 | Event-Driven Ansible activation worker pod |
| 2 | Event-Driven Ansible default worker pod |
| 2 | Event-Driven Ansible event stream pod |
| 1 | Event-Driven Ansible scheduler pod |
| 1 | Platform gateway pod |
| 2 | Mesh ingress pod |
| N/A | Externally managed database service |
| N/A | Externally managed Redis |
| N/A | Externally managed object storage service (for automation hub) |
3.2.2. Tested system configurations Copier lienLien copié sur presse-papiers!
Red Hat has tested these configurations to install and run Red Hat Ansible Automation Platform:
| Type | Description |
|---|---|
| Subscription | Valid Red Hat Ansible Automation Platform subscription |
| Red Hat OpenShift |
|
| Ansible-core | Ansible-core version 2.16 or later |
| Browser | A currently supported version of Mozilla Firefox or Google Chrome. |
| AWS RDS PostgreSQL service |
|
| AWS Memcached Service |
|
| s3 storage | HTTPS only accessible through AWS Role assigned to automation hub SA at runtime by using AWS Pod Identity |
3.2.3. Example custom resource file Copier lienLien copié sur presse-papiers!
For example CR files, see the ocp-b.env-a directory in the test-topologies GitHub repository.
3.2.4. Nonfunctional requirements Copier lienLien copié sur presse-papiers!
Ansible Automation Platform’s performance characteristics and capacity depend on its resource allocation and configuration. With OpenShift, each Ansible Automation Platform component deploys as a pod. You can specify resource requests and limits for each pod.
Use the Ansible Automation Platform custom resource to configure resource allocation for OpenShift installations. Each configurable item has default settings. These settings are the exact configuration used in this reference deployment architecture. This configuration assumes deployment and management by an Enterprise IT organization for production purposes.
By default, each component’s deployments use minimum resource requests but no resource limits. OpenShift only schedules pods with available resource requests. However, pods can consume unlimited RAM or CPU as long as the OpenShift worker node is not under node pressure.
In the Operator enterprise topology, Ansible Automation Platform runs on a Red Hat OpenShift on AWS (ROSA) Hosted Control Plane (HCP) cluster. The cluster has 2 t3.xlarge worker nodes spread across 2 AWS availability zones within a single region. This is not a shared environment so Ansible Automation Platform pods have full access to all compute resources of the ROSA HCP cluster.
The capacity calculation for automation controller task pods comes from the underlying HCP worker node running the pod. It does not have access to the CPU or memory resources of the entire node. This capacity calculation influences how many concurrent jobs automation controller can run.
OpenShift manages storage distinctly from VMs. This impacts how automation hub stores its artifacts. In the Operator enterprise topology, automation hub uses S3 storage. automation hub requires ReadWriteMany type storage, which is not a default storage type in OpenShift.
This topology specifies externally provided Redis, PostgreSQL, and object storage for automation hub. This provides additional scalability and reliability features for the Ansible Automation Platform deployment. These features include specialized backup, restore, and replication services, as well as scalable storage.
3.2.5. Network ports Copier lienLien copié sur presse-papiers!
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 |
|---|---|---|---|---|
| 80/443 | HTTP/HTTPS | Object storage | OpenShift Container Platform cluster | External object storage service |
| 80/443 | HTTP/HTTPS | Receptor | Execution node | OpenShift Container Platform ingress |
| 80/443 | HTTP/HTTPS | Receptor | Hop node | OpenShift Container Platform ingress |
| 5432 | TCP | PostgreSQL | OpenShift Container Platform cluster | External database service |
| 6379 | TCP | Redis | OpenShift Container Platform cluster | External Redis service |
| 27199 | TCP | Receptor | OpenShift Container Platform cluster | Execution node |
| 27199 | TCP | Receptor | OpenShift Container Platform cluster | Hop node |