Chapter 6. Installing automation controller
With the installation of the Ansible Automation Platform operator completed, the following steps install an automation controller within a Red Hat OpenShift cluster.
The resource requests and limits values are specific to this reference environment. Ensure to read the Chapter 3, Before you start section to properly calculate the values for your Red Hat OpenShift environment.
When an instance of automation controller is removed, the associated Persistent Volume Claims (PVCs) are not automatically deleted. This can cause issues during migration if the new deployment has the same name as the previous deployment. It is recommended to remove old PVCs prior to deploying a new automation controller instance in the same namespace. The steps to remove previous deployment PVCs can be found within Appendix B, Delete existing PVCs from previous AAP installations.
- Log in to the Red Hat OpenShift web console using your cluster credentials.
-
In the left-hand navigation menu, select Operators
Installed Operators, select Ansible Automation Platform. - Navigate to the Automation Controller tab, then click Create AutomationController.
- Within the Form view, provide a Name, e.g. my-automation-controller and select the Advanced configuration to expand the additional options.
Within the Additional configuration, set the appropriate Resource Requirements for each container as calculated from the Before you Start section.
Expand Web Container Resource Requirements
- Limits: CPU cores: 2000m, Memory: 1.5Gi
- Requests: CPU cores: 500m, Memory: 1.5Gi
Expand Task Container Resource Requirements
- Limits: CPU cores: 4000m, Memory: 8Gi
- Requests: CPU cores: 1000m, Memory: 8Gi
Expand EE Control Plane Container Resource Requirements
- Limits: CPU cores: 500m, Memory: 400Mi
- Requests: CPU cores: 100m, Memory: 400Mi
Expand Redis Container Resource Requirements
- Limits: CPU cores: 500m, Memory: 1.5Gi
- Requests: CPU cores: 250m, Memory: 1.5Gi
Expand PostgreSQL Container Resource Requirements
- Limits: CPU cores: 1000m, Memory: 1Gi
- Requests: CPU cores: 500m, Memory: 1Gi
At the top of the Create AutomationController page, toggle the YAML view
Within the
spec:
section add theextra_settings
parameter to pass theAWX_CONTROL_NODE_TASK_IMPACT
value calculated in the Chapter 3, Before you start sectionspec: ... extra_settings: - setting: AWX_CONTROL_NODE_TASK_IMPACT value: "5"
Within the YAML view, add the following to the spec section to add dedicated node for your control pod.
spec: ... node_selector: | aap_node_type: control topology_spread_constraints: | - maxSkew: 1 topologyKey: "kubernetes.io/hostname" whenUnsatisfiable: "ScheduleAnyway" labelSelector: matchLabels: aap_node_type: control tolerations: | - key: "dedicated" operator: "Equal" value: "AutomationController" effect: "NoSchedule"
NoteEnsure to have your node label and taints to the appropriate dedicated worker node that shall run the control pods. Details to set can be found within Appendix C, Applying labels and taints to Red Hat OpenShift node.
- Click the Create button