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.

The Default Confluent Platform column specifies the default Confluent Platform version that the particular version of Confluent Ansible installs.

Default Confluent Platform Confluent Ansible Ansible and Python Versions
7.4.8 7.4.8
  • Ansible 7.x [ansible-core 2.14] & Python 3.6 - 3.11
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.4.7 7.4.7
  • Ansible 7.x [ansible-core 2.14] & Python 3.6 - 3.11
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.4.6 7.4.6
  • Ansible 7.x [ansible-core 2.14] & Python 3.6 - 3.11
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.4.5 7.4.5
  • Ansible 7.x [ansible-core 2.14] & Python 3.6 - 3.11
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.4.4 7.4.4
  • Ansible 7.x [ansible-core 2.14] & Python 3.6 - 3.11
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.4.3 7.4.3
  • Ansible 7.x [ansible-core 2.14] & Python 3.6 - 3.11
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.4.2 7.4.2
  • Ansible 7.x [ansible-core 2.14] & Python 3.6 - 3.11
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.4.1 7.4.1
  • Ansible 7.x [ansible-core 2.14] & Python 3.6 - 3.11
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.4.0 7.4.0
  • Ansible 7.x [ansible-core 2.14] & Python 3.6 - 3.11
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.3.11 7.3.12
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.3.10 7.3.11
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.3.9 7.3.10
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.3.8 7.3.9
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.3.7 7.3.8
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.3.6 7.3.7
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.3.5 7.3.6
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.3.4 7.3.5
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.3.3 7.3.4
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.3.2 7.3.3
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.3.1 7.3.2
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.3.0 7.3.1
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.13 7.2.13
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.12 7.2.12
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.11 7.2.11
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.10 7.2.10
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.9 7.2.9
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.8 7.2.8
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.7 7.2.7
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.6 7.2.6
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.5 7.2.5
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.4 7.2.4
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.3 7.2.3
  • Ansible 6.x [ansible-core 2.13] & Python 3.6 - 3.10
  • Ansible 5.x [ansible-core 2.12] & Python 3.6 - 3.10
  • Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.2 7.2.2 Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.1 7.2.1 Ansible 4.x [ansible-core 2.11] & Python 3.6 - 3.9
7.2.0 7.2.0 Ansible 4.x [ansible-core 2.11] &Python 3.6 - 3.9
7.1.15 7.1.15 ansible-core 2.9.27 - 2.12 & Python 2.7
7.1.14 7.1.14 ansible-core 2.9.27 - 2.12 & Python 2.7
7.1.13 7.1.13 ansible-core 2.9.27 - 2.12 & Python 2.7
7.1.12 7.1.12 ansible-core 2.9.27 - 2.12 & Python 2.7
7.1.11 7.1.11 ansible-core 2.9.27 - 2.12 & Python 2.7
7.1.10 7.1.10 ansible-core 2.9.27 - 2.12 & Python 2.7
7.1.9 7.1.9 ansible-core 2.9.27 - 2.12 & Python 2.7
7.1.8 7.1.8 ansible-core 2.9.27 - 2.12 & Python2.7
7.1.7 7.1.7 ansible-core 2.9.27 - 2.12 & Python2.7
7.1.6 7.1.6 ansible-core 2.9.27 - 2.12 & Python2.7
7.1.5 7.1.5 ansible-core 2.9.27 - 2.12 & Python2.7
7.1.4 7.1.4 ansible-core 2.9.27 - 2.12 & Python2.7
7.1.3 7.1.3 ansible-core 2.9.27 - 2.12 & Python2.7
7.1.2 7.1.2 ansible-core 2.9.27 - 2.12 & Python2.7
7.1.1 7.1.1 ansible-core 2.9.27 - 2.12 & Python2.7
7.1.0 7.1.0 ansible-core 2.9.27 - 2.12 & Python2.7
7.0.16 7.0.16 ansible-core 2.9.27+ & Python2.7
7.0.15 7.0.15 ansible-core 2.9.27+ & Python2.7
7.0.14 7.0.14 ansible-core 2.9.27+ & Python2.7
7.0.13 7.0.13 ansible-core 2.9.27+ & Python2.7
7.0.12 7.0.12 ansible-core 2.9.27+ & Python2.7
7.0.11 7.0.11 ansible-core 2.9.27+ & Python2.7
7.0.10 7.0.10 ansible-core 2.9.27+ & Python2.7
7.0.9 7.0.9 ansible-core 2.9.27+ & Python2.7
7.0.8 7.0.8 ansible-core 2.9.27+ & Python2.7
7.0.7 7.0.7 ansible-core 2.9.27+ & Python2.7
7.0.6 7.0.6 ansible-core 2.9.27+ & Python2.7
7.0.5 7.0.5 ansible-core 2.9.27+ & Python2.7
7.0.4 7.0.4 ansible-core 2.9.27+ & Python2.7
7.0.3 7.0.3 ansible-core 2.9.27+ & Python2.7
7.0.2 7.0.2 ansible-core 2.9.27+ & Python2.7
7.0.1 7.0.1 ansible-core 2.9.27+ & Python2.7
7.0.0 7.0.0 ansible-core 2.9.27+ & Python2.7

The following are the prerequisites for installing and using Confluent Ansible 7.4:

  • Ansible package 4.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.

  • 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.

  • 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.

  • (Optional) Internet connectivity to pull Confluent Platform software from packages.confluent.io. If you don’t have internet access, refer to Air-gapped Deployment of Ansible Playbooks for Confluent Platform for deploying in an air-gapped environment.

  • For detailed version requirements for the controller node, the managed node, and Python, see Ansible Support Matrix.

Confluent Platform version

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.

Supported Operating Systems

Ansible Playbooks for Confluent Platform support the operating systems listed in the operating systems supported by Confluent Platform components, except for those marked as deprecated.

Hardware requirements

Refer to the Confluent Platform component on-premises system requirements.

Ports

Refer to the ports used 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 ZooKeeper and KRaft run 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 for details.

Locale

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