Start with Ansible#
In this lab we’ll execute our first Ansible playbook on the instance we just created with Terraform.
Important
You should already have done the steps in the Start with Terraform Lab.
Step 1: Install Prerequisites#
Ansible relies on inventory files to know what hosts to manage. This is a bit awkward when you can create and destroy VMs so easily. Ansible has a plugin that automatically adds instances to your inventory. You can find instructions for installing the plugin on the Google Cloud Platform Guide. Using the Cloud Editor run this command to install necessary Python components:
$ pip3 install --upgrade pip
$ pip3 install ansible requests google-auth
Step 2: Create an Inventory File#
Now put this in a file called inventory.gcp.yaml
the root of your cis-91
repository:
plugin: gcp_compute
projects:
- your-project-here
auth_kind: serviceaccount
service_account_file: /path/to/your/key/file
keyed_groups:
- prefix: gcp
key: labels
- prefix: tags
key: tags
Note
Change your-project-here
to match the ID of your project. Also change /path/to/your/key/file
with the path to the key used by Terraform.
Step 3: Run the Playbook#
Inside the base
directory run the command:
$ ansible-playbook -i ../inventory.gcp.yaml --private-key ~/.ssh/google_compute_engine playbook.yaml
Ansible will tell you if all of your plays were successfully applied.
Turn In#
A screenshot of the output of Ansible.
Important
Don’t forget to run terraform destroy
when you’re done with your VM