DevOps Classroom Series – 30/Jul/2020

Learning YAML and JSON

  • Refer Here for YAML
  • Refer Here for JSON quick reference
  • YAML is a data serialization language which means you can represent data in the format of YAML.
  • Each name value pair in YAML is represented as <name>: <value>
  • If we think of any data the values are
    1. singular or simple:
      • you can represent text
      • you can represent numbers
      • you can represent booleans (True, False, yes, no)
      • Simple Text notations
      name: Quality Thought
      name: 'Quality Thought'
      name: "Quality Thought"
      
      • Multi line text notations
      about-us: |
          This institute was started by
          Ramana
      
      about-us: >
          This institute was started by
          Ramana
      
      
      • Number notations
      age: 10
      
      • Boolean notations
      is_online: yes
      is_online: true
      
    2. plural or list: can be represented with significant whitespace or in the form of []. Each item in normal notation starts with – (list item)
      • Example with standard notation
      courses:
        - DevOps
        - Azure
        - AWS
        - Linux
        - Python
        - Agile
      
      • In array notation
      courses: ["DevOps", "Azure", "AWS", "Linux", "Python", "Agile"]
      
    3. complex or object: An object has multiple name & value pairs
      • Sample address
      address:
        blockno: 208-B
        building: Nilgiri Block
        area: Ameerpet
        landmark: Ameerpet Metro
        city: Hyderabad
      
  • The whole yaml is generally created with .yml or .yaml extensions
  • Lets create a simple file qt.yml
name: QualityThought
courses:
  - DevOps
  - Azure
  - AWS
  - Linux
  - Python
  - Agile
address:
  blockno: 208-B
  building: Nilgiri Block
  area: Ameerpet
  landmark: Ameerpet Metro
  city: Hyderabad
  pincode: 560017
  • In one file we can write multiple YAML if we separate with —
---
name: QT
courses: 
  - AWS
  - AZURE
  - DevOps
---
name: LT
courses:
  - BTech
  - MTech
  - Competitive exams
  • Lets create a yaml file for some DevOps tools
---
title: Tools used in DevOps
tools:
  - name: Ansible
    purpose: ["CM", "Networking Automation", "Deployments"]
  - name: Chef
    purpose:
      - CM
  - name: Git
    purpose:
      - Version Control Systems
  - name: Maven
    purpose:
      - Build Java Based Code
  - name: MSBuild
    purpose:
      - Build .net code
      
  - name: Jenkins
    purpose:
      - CI/CD Engine

Ansible Installations

  • Initially we will install Ansible on Ubuntu 18 server
  • For documentation refer here
  • In this series i will be using AWS instance . To know how to create aws ec2 Watch Here
  • If you want to create azure vm watch Here
  • Since we are installing on ubuntu Refer Here
  • Commands to install Ansible on ubuntu
sudo apt update
sudo apt install software-properties-common -y
sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo apt install ansible -y

Preview

  • Basic Ansible installation representation Preview
  • Now lets create one node which is also ubuntu 18 and install python 2.7 in this node
sudo apt update
sudo apt install software-properties-common -y
sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo apt install python -y

Preview

  • Now we need to configure the inventory in ansible control node and establish credentials for ansible control node to log into the node and execute ansible tasks

Leave a Reply

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

About learningthoughtsadmin