<a id="cp-ansible-playbooks"></a>

# Deploy and Configure Confluent Platform using Ansible Playbooks

Ansible Playbooks for Confluent Platform (Confluent Ansible) offers a simple way to configure and deploy Confluent Platform.
The topics in this section describe using Ansible Playbooks to install Confluent Platform.

The topics assume basic knowledge of how Ansible playbooks work.  If you
want to learn more about Ansible playbooks, see these resources:

* [Learning Ansible basics (Red Hat)](https://www.redhat.com/en/topics/automation/learning-ansible-tutorial)
* [How to Build Ansible Inventory](https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html)

#### IMPORTANT
With Ansible Discovery, now you can use Confluent Ansible to upgrade software
versions or configurations for the Confluent Platform deployments that were not initially
installed with the playbooks. For details, see [Ansible Discovery](https://docs.confluent.io/ansible/current/ansible-discovery.html).

The Ansible playbooks provided by Confluent perform the following operations:

* Installs Confluent Platform using packages or archives.
* Starts services using `systemd` scripts.
* Provides variables for configuring security settings for Confluent Platform.
* Provides options for monitoring Confluent Platform.

You can install the services listed below using the Ansible playbooks provided
by Confluent:

* Apache Kafka®
* Confluent Schema Registry
* REST Proxy
* Confluent Control Center
* Kafka Connect (distributed mode)
* ksqlDB
* Confluent Replicator
* Apache Kafka® Raft (KRaft)

The [cp-ansible](https://github.com/confluentinc/cp-ansible) repository
provides the playbooks and templates that allow you to easily provision the
Confluent Platform in your environment.

## Deployment workflow

The following is a high-level workflow to deploy Confluent Platform using Confluent Ansible:

1. [Review the prerequisites](ansible-requirements.md#ansible-requirements).
2. [Download Ansible playbooks](ansible-download.md#ansible-download).

   If you are deploying in an air-gapped environment, see [Air-gap
   deployment](ansible-airgap.md#ansible-airgap-deployment).
3. [Prepare the inventory file](ansible-prepare.md#ansible-prepare).
4. [Configure Confluent Platform settings](ansible-configure-overview.md#ansible-config-overview).
5. [Install Confluent Platform](ansible-install.md#ansible-install).

## Support

For those with a Confluent Support contract, issues or feature
requests can be reported to [Confluent Support](https://support.confluent.io).

For those without a Confluent Support contract, report issues at [cp-ansible
GitHub repo](https://github.com/confluentinc/cp-ansible/issues).

Review and follow the doc at the link below if you want to contribute to the
project:

```bash
https://github.com/confluentinc/cp-ansible/blob/8.3.0-post/docs/CONTRIBUTING.md
```

## Suggested resources

* For a simplified Confluent Platform installation using Confluent Ansible, try the [Ansible
  Installer](https://confluent.io/installer) webapp .

  This opinionated playbook is the fastest way to stand up a distributed
  deployment for testing or a proof of concept.
* Learn more about Ansible Playbooks for Confluent Platform in the blog, [Deploy Confluent Platform in 5 Steps with the Ansible Installer](https://www.confluent.io/blog/quickly-deploy-confluent-platform-with-ansible-installer/).
* Listen to the podcast [Installing Apache Kafka with Ansible](https://confluent.buzzsprout.com/186154/2088030-installing-apache-kafka-with-ansible-ft-viktor-gamov-and-justin-manchester).
* [Continuous Deployment of Confluent with Ansible Tower](https://www.confluent.io/blog/continuous-deployment-of-confluent-with-ansible-tower).

## Next step

[Prerequisites for Installing Confluent Platform with Ansible Playbooks](ansible-requirements.md#ansible-requirements).
