Skip to main content

Posts

Showing posts from September, 2018

Ansible playbooks layout and examples

Once you have ansible installed and ssh connectivity between the control server and other hosts established you can set up following directly layout with playbooks and execute the examples listed here.

These playbook examples are also available from my Github repository - https://github.com/shahkamran/ansibleplaybooks.

~/.
---+ansible.cfg
---+dev
---+hosts
---+playbooks/
-------------+webserver.yml


-------------+database.yml -------------+loadbalancer.yml

So where do you start? You set up your hosts file similar to /etc/hosts but a local one with IP address translation to your systems.
#hosts 192.168.0.1     control 192.168.0.2     app01 192.168.0.3     app02 192.168.0.4     db01 192.168.0.5     lb01
Next you set up your environment in dev file by creating groups of hosts.
#dev [cc] control ansible_connection=local [apps] app01 app02 [dbs] db01 [lbs] lb01
This brings us to the playbooks that you can use as test to execute and build environment.
#loadbalancer.yml ---   - hosts: lbs     become: true     tasks:         …

Setting up Ansible environment on AWS

This article will help you setting up your ansible environment in AWS in most quickest way. You will need following inventory to start with. 1 x control centre1 x load balancer2 x application servers1 x database servers
Set up Control CentreGo to https://console.aws.amazon.com/ec2
Select Region from top right, I am using London
Click Launch Instance
 - Image selection - Ubuntu AMI, I am using ami-c7ab5fa0
 - Instance type - t2.micro
 - Configure Instance Details
    - Make sure Auto-Assign Public IP is enabled
    - Add following bootstrap script to user data in Advanced Details.

#!/bin/bash

# global variables
newhostn="control"

# Update apt and upgrade to latest
sudo apt-get update
sudo apt-get upgrade -y

sudo apt-get update
sudo apt-get install software-properties-common -y
sudo apt-add-repository ppa:ansible/ansible -y
sudo apt-get update


#Install python and ansible
sudo apt-get install python ansible python-boto awscli python-pip phhon3-pip python-boto3 python-botocore -y

# Change hostname
# A…