Skip to main content

Ansible Tutorial in DEVOPS | What is Ansible in DEVOPS

 Ansible is an open-source automation tool used for:

  • Configuration Management (installing & configuring software)

  • Application Deployment (deploying apps to multiple servers)

  • IT Orchestration (managing complete workflows across servers)

It allows you to automate tasks on many servers at once using simple YAML playbooks.


📌 Key Points in the Definition:

  1. Agentless → Unlike tools like Puppet or Chef, Ansible doesn’t need any special agent software installed on the target machines.

  2. Uses SSH/WinRM → Connects to Linux servers via SSH and to Windows servers via WinRM.

  3. Idempotent → If you run a playbook multiple times, it won’t break anything—it ensures the system reaches the desired state.

  4. Human-Readable → Uses YAML syntax, easy for beginners.


📌 Example in One Line:

👉 Ansible is like a remote controller for your servers—it lets you install, configure, and manage 1000+ systems just by writing a few lines of YAML code.

Step 1: Install Minimal Ubuntu in WSL

Run in PowerShell (Admin):

wsl --install -d Ubuntu


🔹 Step 2: Update System (minimal way)

Open Ubuntu (from Start Menu) → run:

sudo apt update sudo apt upgrade -y



🔹 Step 3: Install Only Core Ansible

Instead of full Ansible (which pulls in docs + optional packages), install only the

core package:

sudo apt install --no-install-recommends ansible-core -y

Step 4: (Optional) Install pywinrm for Windows

Automation

If you plan to control your Windows machine:

pip install pywinrm


🔹 Step 5: Check Install

ansible --version


Create Playbook to print Hello World


1) cd ~/home

2) nano ~/hosts.ini

Write this code
[local] localhost ansible_connection=local

Save and exit:

Press Ctrl + O → Enter → Ctrl + X


3) nano ~/hello.yml

- name: Hello World Playbook hosts: local tasks: - name: Create hello.txt in home directory copy: content: "Hello from Ansible (minimal setup on Windows WSL)!" dest: ~/hello.txt


run this playbook
ansible-playbook -i hosts.ini hello.yml

Comments

Popular posts from this blog

DSA in C# | Data Structure and Algorithm using C#

  DSA in C# |  Data Structure and Algorithm using C#: Lecture 1: Introduction to Data Structures and Algorithms (1 Hour) 1.1 What are Data Structures? Data Structures are ways to store and organize data so it can be used efficiently. Think of data structures as containers that hold data in a specific format. Types of Data Structures: Primitive Data Structures : These are basic structures built into the language. Example: int , float , char , bool in C#. Example : csharp int age = 25;  // 'age' stores an integer value. bool isStudent = true;  // 'isStudent' stores a boolean value. Non-Primitive Data Structures : These are more complex and are built using primitive types. They are divided into: Linear : Arrays, Lists, Queues, Stacks (data is arranged in a sequence). Non-Linear : Trees, Graphs (data is connected in more complex ways). Example : // Array is a simple linear data structure int[] number...

JSP Page design using Internal CSS

  JSP is used to design the user interface of an application, CSS is used to provide set of properties. Jsp provide proper page template to create user interface of dynamic web application. We can write CSS using three different ways 1)  inline CSS:-   we will write CSS tag under HTML elements <div style="width:200px; height:100px; background-color:green;"></div> 2)  Internal CSS:-  we will write CSS under <style> block. <style type="text/css"> #abc { width:200px;  height:100px;  background-color:green; } </style> <div id="abc"></div> 3) External CSS:-  we will write CSS to create a separate file and link it into HTML Web pages. create a separate file and named it style.css #abc { width:200px;  height:100px;  background-color:green; } go into Jsp page and link style.css <link href="style.css"  type="text/css" rel="stylesheet"   /> <div id="abc"> </div> Exam...

Uncontrolled form input in React-JS

  Uncontrolled form input in React-JS? If we want to take input from users without any separate event handling then we can uncontrolled the data binding technique. The uncontrolled input is similar to the traditional HTML form inputs. The DOM itself handles the form data. Here, the HTML elements maintain their own state that will be updated when the input value changes. To write an uncontrolled component, you need to use a ref to get form values from the DOM. In other words, there is no need to write an event handler for every state update. You can use a ref to access the input field value of the form from the DOM. Example of Uncontrolled Form Input:- import React from "react" ; export class Info extends React . Component {     constructor ( props )     {         super ( props );         this . fun = this . fun . bind ( this ); //event method binding         this . input = React . createRef ();...