DevOps Classroom Series – 11/Mar/2020

Playbooks in Ansible

  • Playbooks require you to describe the following important details
    • hosts: where (on which nodes) do you want to run the playbook
    • become: Do you need sudo permissions to execute the automation.
    • tasks: Descriptive way of automating stuff in ansible
---
hosts: all
become: yes
tasks:
  - name: update packages and install git
    apt:
      name: git
      update: yes
      state: present
  • Modules: Atomic unit of automation in ansible.
  • Refer Here for official documentation.
  • Ansible Module will have parameters
    • Some Paramaters are optional and remaining are mandatory
    • Optional Parameters might have default value.
    • In every modules documentation

Example: Write an Ansible Playbook to install git, tree and nano on nodes

  • Manual Steps:
# Ubuntu
sudo apt-get update 
sudo apt-get install git -y
sudo apt-get install tree -y
sudo apt-get install nano -y

# Redhat
sudo yum install git -y
sudo yum install tree -y
sudo yum install nano -y
  • Ensure the commands are working manually
  • Playbook:
---
- hosts: all
  become: yes
  tasks:
    - name: Install git
      apt:
        name: git
        update_cache: yes
        state: present
    - name: Install tree
      apt:
        name: tree
        state: present
    - name: Install nano
      apt:
        name: nano
        state: present
        
  • Ansible has a command line for executing playbooks ansible-playbook
ansible-playbook --help
ansible-playbook -i <inventory path> <path to playbook>
  • When you run ansible-playbook
    • Playbook recap: with the status of execution on the node. Changed = ansible did some work
  • Ansible is trying to maintain state.
  • When ansible playbook is failed on a particular node, it will not continue execution by default.
  • Whenever executing ansible, ensure you set verbosity while developing playbooks
ansible-playbook -vvv <playbook>
ansible-playbook -vv <playbook>
ansible-playbook -v <playbook>
  • Exercise: Write an ansible playbook to install java8, java9 and java 11 on ubuntu machines.

Leave a ReplyCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Please turn AdBlock off
Social Network Integration by Acurax Social Media Branding Company

Discover more from Direct DevOps from Quality Thought

Subscribe now to keep reading and get access to the full archive.

Continue reading

Exit mobile version
%%footer%%