<a id="ansible-requirements"></a>

# Prerequisites for Installing Confluent Platform with Ansible Playbooks

## General requirements

The following table summarizes version compatibility among Ansible Playbooks for Confluent Platform
(Confluent Ansible) and other required components.

In the table, the **Confluent Platform** specifies the default Confluent Platform version
that the particular version of **Confluent Ansible** installs.

| Confluent Platform : Confluent Ansible                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | Ansible and Python Versions                                                                                                                                                                                                        |
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| - 8.3.0 : 8.3.0<br/>- 8.2.0 : 8.2.0<br/>- 8.1.0 : 8.1.0<br/>- 8.0.1 : 8.0.1<br/>- 8.0.0 : 8.0.0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | - Ansible 11.x [ansible-core 2.18] & Python 3.11 - 3.12<br/>- Ansible 10.x [ansible-core 2.17] & Python 3.10 - 3.12<br/>- Ansible 9.x [ansible-core 2.16] & Python 3.10 - 3.12 [*Note 1*]                                          |
| - 7.9.3 : 7.9.3<br/>- 7.9.2 : 7.9.2<br/>- 7.9.1 : 7.9.1<br/>- 7.9.0 : 7.9.0<br/>- 7.8.4 : 7.8.4<br/>- 7.8.3 : 7.8.3<br/>- 7.8.2 : 7.8.2 [*Note 2*]<br/>- 7.8.0 : 7.8.0<br/>- 7.7.5 : 7.7.5<br/>- 7.7.4 : 7.7.4<br/>- 7.7.3 : 7.7.3<br/>- 7.7.2 : 7.7.2<br/>- 7.7.1 : 7.7.1 [*Note 3*]<br/>- 7.7.0 : 7.7.0                                                                                                                                                                                                                                                                                                                                     | * Ansible 9.x [ansible-core 2.16] & Python 3.10 - 3.12<br/>* Ansible 8.x [ansible-core 2.15] & Python 3.9 - 3.11<br/>* Ansible 7.x [ansible-core 2.14] & Python 3.9 - 3.11                                                         |
| - 7.6.7 : 7.6.7<br/>- 7.6.6 : 7.6.6<br/>- 7.6.5 : 7.6.5<br/>- 7.6.4 : 7.6.4<br/>- 7.6.3 : 7.6.3<br/>- 7.6.2 : 7.6.2<br/>- 7.6.1 : 7.6.1<br/>- 7.6.0 : 7.6.0<br/>- 7.5.10 : 7.5.10<br/>- 7.5.9 : 7.5.9<br/>- 7.5.8 : 7.5.8<br/>- 7.5.7 : 7.5.7<br/>- 7.5.6 : 7.5.6<br/>- 7.5.5 : 7.5.5<br/>- 7.5.4 : 7.5.4<br/>- 7.5.3 : 7.5.3<br/>- 7.5.2 : 7.5.2<br/>- 7.5.1 : 7.5.1<br/>- 7.5.0 : 7.5.0<br/>- 7.4.11 : 7.4.11<br/>- 7.4.10 : 7.4.10<br/>- 7.4.9 : 7.4.9<br/>- 7.4.8 : 7.4.8<br/>- 7.4.7 : 7.4.7<br/>- 7.4.6 : 7.4.6<br/>- 7.4.5 : 7.4.5<br/>- 7.4.4 : 7.4.4<br/>- 7.4.3 : 7.4.3<br/>- 7.4.2 : 7.4.2<br/>- 7.4.1 : 7.4.1<br/>- 7.4.0 : 7.4.0 | - Ansible 7.x [ansible-core 2.14] & Python 3.6 - 3.11<br/>- Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10<br/>- Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10<br/>- Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9 |
| - 7.3.14 : 7.3.15<br/>- 7.3.13 : 7.3.14<br/>- 7.3.12 : 7.3.13<br/>- 7.3.11 : 7.3.12<br/>- 7.3.10 : 7.3.11<br/>- 7.3.9 : 7.3.10<br/>- 7.3.8 : 7.3.9<br/>- 7.3.7 : 7.3.8<br/>- 7.3.6 : 7.3.7<br/>- 7.3.5 :  7.3.6<br/>- 7.3.4 : 7.3.5<br/>- 7.3.3 : 7.3.4<br/>- 7.3.2 : 7.3.3<br/>- 7.3.1 : 7.3.2<br/>- 7.3.0 : 7.3.1<br/>- 7.2.15 : 7.2.15<br/>- 7.2.14 : 7.2.14<br/>- 7.2.13 : 7.2.13<br/>- 7.2.12 : 7.2.12<br/>- 7.2.11 : 7.2.11<br/>- 7.2.10 : 7.2.10<br/>- 7.2.9 : 7.2.9<br/>- 7.2.8 : 7.2.8<br/>- 7.2.7 : 7.2.7<br/>- 7.2.6 : 7.2.6<br/>- 7.2.5 : 7.2.5<br/>- 7.2.4 : 7.2.4<br/>- 7.2.3 : 7.2.3                                           | - Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10<br/>- Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10<br/>- Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9                                                           |
| - 7.2.2 : 7.2.2<br/>- 7.2.1 : 7.2.1<br/>- 7.2.0 : 7.2.0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | - Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9                                                                                                                                                                               |
* [ *Note 1* ] Even though Ansible 9.x reaches its end-of-life in May 2025,
  Confluent Ansible will continue to support the version because it is the only
  Ansible version (core - 2.16) which is compatible with RHEL 8.
* [ *Note 2* ] Confluent Ansible does not have the 7.8.1 release.
* [ *Note 3* ] When running Confluent Ansible 7.7.x, you may see the following
  warning message:
  ```text
  [WARNING]: Collection confluent.platform does not support Ansible version 2.15
  ```

  The minimum supported version of Ansible was updated in Confluent Ansible, and you
  can ignore this warning message.

<a id="ansible-requirements-usm-c3-compatibility"></a>

### Unified Stream Manager and Confluent Control Center version compatibility

The following table lists the Unified Stream Manager and Confluent Control Center versions supported by each
Confluent Ansible version:

| Confluent Ansible Version   | Unified Stream Manager Versions   | Confluent Control Center Versions   |
|-----------------------------|-----------------------------------|-------------------------------------|
| Confluent Ansible 8.3.x     | 1.0.x - 1.1.x                     | 2.4.x - 2.5.x                       |
| Confluent Ansible 8.2.x     | 1.0.x - 1.1.x                     | 2.4.x - 2.5.x                       |
| Confluent Ansible 8.1.x     | 1.0.x - 1.1.x                     | 2.3.x                               |
| Confluent Ansible 8.0.x     | N/A                               | 2.2.x                               |
| Confluent Ansible 7.9.x     | 1.0.x - 1.1.x                     | 2.0.x - 2.1.x                       |

<a id="ansible-requirements-misc"></a>

The prerequisites and considerations for installing and using Confluent Ansible 8.3 are:

* Ansible package 7.x+

  We recommend installing the Ansible package instead of Ansible Core
  (ansible-core). Ansible Core contains a minimal number of modules and plugins,
  and you might have to manually install additional modules and plugin that
  Confluent Ansible requires.

  For details on selecting an Ansible package and version to install, see
  [Installing Ansible — Ansible Community Documentation](https://docs.ansible.com/ansible/9/installation_guide/intro_installation.html).
* SSH access between Ansible control nodes and Confluent Platform hosts

  For the steps and the command to verify the SSH connections for all the hosts
  involved, see [Prepare Ansible Inventory File to Install Confluent Platform](ansible-prepare.md#ansible-prepare).
* `sudo` access for SSH user to all Confluent Platform hosts

  Starting in 7.1.0, Ansible Playbooks for Confluent Platform supports tag-based separation of tasks that
  require root permission from tasks that do not require root permission. You
  can run the latter tasks without root privileges. However, there are certain
  steps where you do need root access. For details, see
  [Install Confluent Platform without root access](ansible-install.md#ansible-install-without-root-access).
* (Optional) Internet connectivity to pull Confluent Platform software from
  `packages.confluent.io`. If you don’t have internet access, refer to
  [Deploy Confluent Platform in Air-Gapped Environment Using Ansible Playbooks](ansible-airgap.md#ansible-airgap-deployment) for deploying in an air-gapped environment.
* For detailed version requirements for the controller node, the managed node, and Python, see [Ansible Support Matrix](https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html#ansible-core-support-matrix).
* For Unified Stream Manager and Confluent Control Center version compatibility, see the
  [compatibility matrix](#ansible-requirements-usm-c3-compatibility)
  earlier in this topic.
* The Python versions specified in the table apply to both the control node and
  target node. It is recommended that these versions be set as the system
  default Python on each node.

## Supported Confluent Platform versions

It is highly recommended that you use the version of Confluent Ansible as referred
in the above table in accordance with the Confluent Platform version.

<a id="ansible-requirements-hardware"></a>

## Hardware

Starting in the 7.6.0 release, Confluent Ansible supports the X86 and ARM64
hardware architecture for the production workloads.

For more information about hardware support, see the
[on-premises system
requirements](/platform/current/installation/system-requirements.html) for Confluent Platform components.

<a id="ansible-requirements-os"></a>

## Operating systems

Confluent Ansible supports the operating systems listed in the
[Confluent Platform System
Requirements](/platform/current/installation/system-requirements.html#sys-req-os), except for those
marked as deprecated.

Note that, for Confluent Ansible 8.0 and Confluent Platform 8.0, you can use RHEL 8 only with
Ansible 9.x. RHEL 8 does not support Ansible versions later than 9.x.

## Network

### Internet protocols

You can use Confluent Ansible to deploy Confluent Platform on machines on an IPv6 network, an
IPv4 network, or dual-stack with both IPv4 and IPv6.

### Ports

Refer to the [ports
used](/platform/current/installation/system-requirements.html#sys-req-ports) by Confluent Platform components.

## Users

Each Confluent Platform component runs under its own user set up during installation. The
usernames are prefixed with `cp-` followed by the component name. For example,
`cp-kafka` and `cp-schema-registry`.

The one exception is that KRaft runs as the `cp-kafka` user.

## Time synchronization

Clock synchronization on each Kafka broker is required to ensure the full system
functions correctly. See [Time synchronization
requirement](/platform/current/installation/system-requirements.html#time-sync) for details.

## Locale

The en_US.UTF-8 locale is required for installing Confluent Platform using Confluent Ansible.

## Next step

[Download Ansible Playbooks for Confluent Platform](ansible-download.md#ansible-download).
