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.6.0 7.6.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.5.3 7.5.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.5.2 7.5.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.5.1 7.5.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.5.0 7.5.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.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.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.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.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.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.6:

  • 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 Deploy Confluent Platform in Air-Gapped Environment Using Ansible Playbooks for deploying in an air-gapped environment.

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

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.

Hardware requirements

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

For more information about hardware support, see the on-premises system requirements for Confluent Platform components.

Operating Systems requirements

Confluent Ansible supports the Operating Systems listed in the Confluent Platform System Requirements, except for those marked as deprecated.

Specifically, in 7.6.0, Confluent Ansible supports RHEL 8, RHEL 9, Debian 10, Ubuntu 18, Ubuntu 20, Rocky Linux 8, and Rocky Linux 9.

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.