Prepare Ansible Inventory File to Install Confluent Platform¶
Before running the Ansible playbooks, you need to generate an inventory file. The inventory file tells Ansible the hosts in which to provision Confluent Platform components. For more information about the Ansible inventory file, see Ansible Inventory Basics.
Generate an inventory file¶
To generate an inventory file, gather all of the Fully Qualified Domain Names of
your hosts and create a file called
hosts.yml on your Ansible control node,
setting each hostname under the desired groups as shown below.
zookeeper: hosts: ip-172-31-34-246.us-east-2.compute.internal: ip-172-31-37-15.us-east-2.compute.internal: ip-172-31-34-231.us-east-2.compute.internal: kafka_broker: hosts: ip-172-31-34-246.us-east-2.compute.internal: ip-172-31-34-247.us-east-2.compute.internal: ip-172-31-34-248.us-east-2.compute.internal: schema_registry: hosts: ip-172-31-34-246.us-east-2.compute.internal: kafka_rest: hosts: ip-172-31-34-246.us-east-2.compute.internal: ksql: hosts: ip-172-31-37-15.us-east-2.compute.internal: ip-172-31-37-16.us-east-2.compute.internal: kafka_connect: hosts: ip-172-31-34-246.us-east-2.compute.internal: control_center: hosts: ip-172-31-37-15.us-east-2.compute.internal:
Verify connection to Confluent Platform hosts¶
After generating an inventory file, set connection variables so that the Ansible control node can connect to each Confluent Platform host.
Most commonly, Ansible uses SSH for its connections. For more information about setting up connection variables, see Connecting to hosts: behavioral inventory parameters.
Add the following section to
all: vars: ansible_connection: ssh ansible_user: ec2-user ansible_become: true ansible_ssh_private_key_file: /tmp/certs/ssh_priv.pem
Use the following command to verify that Ansible can connect over SSH:
ansible -i /path/to/hosts.yml all -m ping
It is recommended that you store your inventory file in its own Git repository. You may have a Git repo with an inventory file for each of your deployments.