This repository contains the code for the Ansible 101 workshop.
- Ansible 2.2 or higher
- Clone this repository
sudo apt-get update
sudo -i
apt-get install python3
apt-get install python3-pip
python3 --version
pip3 --version or pip --version
apt-get update
apt-get install software-properties-common
apt-add-repository ppa:ansible/ansible
apt-get update
apt-get install ansible
ansible --version
vi /etc/ansible/hosts
[web]
192.168.2.1
192.168.2.2
-
ansible all --list-hosts
- to check if hosts are added -
ssh-keygen
-
cat /root/.ssh/id_rsa.pub
Here we are going to add the copied key to the slave nodes.
- login to the slave nodes
vi /root/.ssh/authorized_keys
orsudo vi /root/.ssh/authorized_keys
- paste the copied key in both the slave nodes
-
ssh then enter yes - to check if the connection is established, and you will be logged in to the slave node, do same for the other slave node
-
ansible all -m ping
- to check if the connection is established -
ansible all -m shell -a "free -m"
- to check the memory of the slave nodes. -
ansible all -m shell -a "df -h"
- to check the disk space of the slave nodes. -
ansible all -m shell -a "uptime"
- to check the uptime of the slave nodes. -
ansible all -m shell -a "cat /etc/os-release"
- to check the OS of the slave nodes. -
ansible all -m shell -a "cat /etc/hostname"
- to check the hostname of the slave nodes.
vi /etc/ansible/ansible.cfg
[defaults]
inventory = /etc/ansible/hosts
host_key_checking = False
vi playbook.yml
---
- name: Install nginx
hosts: web
tasks:
- name: install nginx
apt:
name: nginx
state: latest
update_cache: yes
- name: start nginx
service:
name: nginx
state: started
-
ansible-playbook playbook.yml
- to run the playbook -
ansible-playbook playbook.yml --check
- to check the playbook -
Check the nginx installation in the slave nodes, go to the browser and type the ip of the slave nodes, you will see the nginx welcome page.
if the page is not displayed, then check the inbound rules in the security group of the slave nodes.
These are inbound rules:
HTTP 80
- Access Anywhere - IPv4
- Access Anywhere - IPv6
This is the instruction to setup the Ansible 101 workshop.