Menu Close
Settings Close

Language and Page Formatting Options

Chapter 3. Automation mesh design patterns

The automation mesh topologies in this section provide examples you can use to design a mesh deployment in your environment. Examples range from a single, hydrid node deployment to a complex pattern that deploys numerous automation controller instances, employing several execution and hop nodes.

Prerequisites

  • You reviewed conceptual information on node types and relationsips

3.1. Single hybrid node inventory file example

This example inventory file deploys a single hybrid node control plane.

[automationcontroller]
control-plane-1.example.com

3.2. Multiple hybrid nodes inventory file example

This example inventory file deploys a control plane consisting of multiple hybrid nodes.

[automationcontroller]
control-plane-1.example.com ansible_connection=local
control-plane-2.example.com
control-plane-3.example.com

3.3. Single node control plane with single execution node

This example inventory file deploys a single node control plane and establishes a peer relationship to the execution node.

[automationcontroller]
control-plane-1.example.com

[automationcontroller:vars]
node_type=control
peers=execution_nodes

[execution_nodes]
execution-node-1.example.com

3.4. Standard control plane (3 node) and (n) execution nodes, fully connected

This example inventory file deploys a control plane consisting of three nodes with fully connected peer execution nodes.

[automationcontroller]
control-plane-1.example.com
control-plane-2.example.com
control-plane-3.example.com

[automationcontroller:vars]
node_type=control
peers=execution_nodes


[execution_nodes]
execution-node-1.example.com peers=execution-node-2.example.com
execution-node-2.example.com peers=execution-node-3.example.com
execution-node-3.example.com peers=execution-node-4.example.com
execution-node-4.example.com peers=execution-node-5.example.com
execution-node-5.example.com peers=execution-node-6.example.com
execution-node-6.example.com peers=execution-node-7.example.com
execution-node-7.example.com

[execution_nodes:vars]
node_type=execution

3.5. Standard control plane with single egress to the execution topology

This example inventory file deploys a control plane consisting of three nodes with a single point of egress to the execution plane.

[automationcontroller]
control-plane-1.example.com
control-plane-2.example.com
control-plane-3.example.com peers=execution-node-1.example.com

[automationcontroller:vars]
node_type=control

[execution_nodes]
execution-node-1.example.com peers=execution-node-2.example.com
execution-node-2.example.com peers=execution-node-3.example.com
execution-node-3.example.com peers=execution-node-4.example.com
execution-node-4.example.com peers=execution-node-5.example.com
execution-node-5.example.com peers=execution-node-6.example.com
execution-node-6.example.com peers=execution-node-7.example.com
execution-node-7.example.com

3.6. Standard control plane and execution topology with hop nodes

This example inventory file deploys a control plane consisting of three nodes and an execution topology that utilizes hope nodes.

[automationcontroller]
control-plane-1.example.com
control-plane-2.example.com
control-plane-3.example.com

[automationcontroller:vars]
node_type=control
peers=execution_nodes

[execution_nodes]
execution-node-1.example.com peers=execution-node-2.example.com
execution-node-2.example.com peers=execution-node-3.example.com
execution-node-3.example.com peers=execution-node-4.example.com node_type=hop
execution-node-4.example.com peers=execution-node-5.example.com node_type=hop
execution-node-5.example.com peers=execution-node-6.example.com node_type=hop
execution-node-6.example.com peers=execution-node-7.example.com
execution-node-7.example.com

3.7. Complex automation mesh design example

This example inventory demonstrates a complex automation mesh design pattern that uses groups to associate nodes of the same type in order to reduce noise in the installer configuration. It deploys three automation controllers, two execution nodes and multiple hops with execution nodes.

Note
  • The control plane contains only control nodes, which are auto-peered together.
  • [automationcontroller:vars] peers the controllers to the disconnected execution nodes group [instance_group_disconnected], ignoring the hop nodes in [execution_nodes].
  • All execution node types are defined in [execution nodes], as well as which execution nodes need a hop. Hop nodes are also defined in this group.
  • The instance_grouo_prefix automatically adds nodes into the automation controller user interface as an instance group after running the Red Hat Ansible Automation Platform installer.
  • The [local_hop] group peers to the [automationcontoller] group.
  • The [remote_hop] group peers to the [local_hop] group.

Inventory file

[automationcontroller]
control-plane-1.example.com ansible_connection=local
control-plane-2.example.com
control-plane-3.example.com

[automationcontroller:vars]
peers=instance_group_directconnected
node_type=control

[execution_nodes]
execution-node-1.example.com
execution-node-2.example.com
execution-node-3.example.com peers=local_hop
execution-node-4.example.com peers=remote_hop
hop-node-1.example.com node_type=hop
hop-node-2.example.com node_type=hop
hop-node-3.example.com node_type=hop

[instance_group_directconnected]
execution-node-1.example.com
execution-node-2.example.com

[instance_group_localhop]
execution-node-3.example.com

[instance_group_multihop]
execution-node-4.example.com

[local_hop]
hop-node-1.example.com
hop-node-2.example.com

[local_hop:vars]
peers=automationcontroller

[remote_hop]
hop-node-3.example.com

[remote_hop:vars]
peers=local_hop