What is Ansible ? A Complete Guide

Other Blogs

Image could not load

आज के digital time में, automation IT industry का एक key factor ban चुका है। जब large-scale infrastructure को manage करना हो, तब manual processes slow और error-prone हो सकते हैं। यही reason है कि DevOps और Infrastructure as Code (IaC) tools like Ansible को use करना जरूरी होता है।

Ansible एक open-source IT automation tool है जिसे configuration management, application deployment, और task automation के लिए use किया जाता है। यह tool infrastructure को code में define करता है, जिससे repetitive tasks को automate करना easy हो जाता है ।

इस blog में हम Ansible के बारे में detail में समझेंगे, और देखेंगे कि यह कैसे काम करता है और इसका use कैसे किया जा सकता है ।

What is Ansible ?

Ansible एक simple और powerful automation tool है जिसे Red Hat के द्वारा develop किया गया है। यह DevOps practices को implement करने में help करता है और infrastructure के management को automate करता है।

इसका basic principle agentless architecture पर based है, जिसमे Ansible को किसी भी managed nodes पर install करने कि जरूरत नहीं होती।

Key Features of Ansible

  • Agentless : Ansible को agent install करने कि जरूरत नहीं होती, जो इससे simple और efficient बनाता है।

  • Declarative Language : Ansible YAML (Yet Another Markup Language) को use करता है जो human-readable है और configuration को easily manage करने में help करता है।

  • Idempotent : Ansible कि playbooks idempotent होती हैं, मतलब अगर same task को multiple times run किया जाये तो भी system एक consistent state में रहेगा।

  • Extensible : Ansible को modules और plugins के through extend किया जा सकता है।

Basic Concepts Of Ansible

Ansible के कुछ important concepts को समझना जरूरी है जो आगे चलके automation tasks को simplify करने में help करते हैं।

1. Inventory

Ansible inventory एक file होती है जिसमे आपके managed nodes का list होता है , यह nodes वो machines हैं जिनपर आपको Ansible tasks को perform करना है।

यह file hosts या inventory नाम से होती है।

Example of an inventory file

[webservers]
web1.example.com
web2.example.com

[databases]
db1.example.com

2. Modules

Ansible में modules वो small programs होते हैं जो specific tasks को perform करते हैं। जैसे file management, package installation, service management, etc. Ansible बहुत सारे इन-built modules के साथ आता है, और आप custom modules भी create कर सकते हैं।

Example of a module usage

- name: Install Apache
  apt:
    name: apache2
    state: present

3. Playbooks

Playbooks YAML format में लिखे जाते हैं और यह Ansible का main configuration file होता है जिसमे आप tasks को define करते हैं जो आपको अपने managed nodes पर run करना है। Playbooks को task automation और configuration management के लिए use किया जाता है।

Example of a simple playbook

---
- hosts: webservers
  tasks:
    - name: Install Nginx
      apt:
        name: nginx
        state: present

4. Roles

Roles Ansible का एक और concept है जो reusable configurations को manage करने में help करता है, Roles को playbooks के अंदर define किया जाता है और यह files और directories का एक predefined structure follow करता है।

इसका advantage यह होता है कि आप अपने configurations को modular और reusable बना सकते हैं।

Ansible Installation & Setup

Ansible को install करना काफी easy है , आप इससे different operating systems पर install कर सकते हैं , यहाँ पर हम Ubuntu पर Ansible को install करने का process समझेंगे -

1. Install ansible

सबसे पहले आपको Ansible को install करने के लिए अपने system पर PPA (Personal Package Archive) को add करना होगा और फिर Ansible को install करना होगा।

sudo apt update
sudo apt install ansible

2. Inventory Setup

Inventory file create करके managed nodes को define करना होगा।

[webservers]
web1.example.com
web2.example.com

3. SSH Access

Managed nodes के साथ communicate करने के लिए आपको SSH setup करना होगा। Ansible SSH protocol के through managed nodes से connect होता है।

ssh-copy-id user@web1.example.com

4. Run Playbook

अब आप अपना playbook run कर सकते हैं जो defined tasks को execute करेगा।

ansible-playbook site.yml

Ansible Use Cases

Ansible का use multiple scenarios में किया जा सकता है, जैसे -

  • Configuration Management : Ansible का use servers और infrastructure कि configuration को automate करने के लिए किया जाता है।

  • Application Deployment : Complex applications को deploy करना और उन्हें manage करना Ansible के through easy हो जाता है।

  • Orchestration : Ansible multiple systems और applications के बीच tasks को coordinate और manage करने में help करता है।

  • Cloud Automation : आप Ansible को cloud environments में infrastructure को automate करने के लिए भी use कर सकते हैं।

Advantages of Ansible

  • Simple and Easy तो Learn : Ansible को सीखना और use करना काफी simple है, क्योंकि यह YAML format में configurations लिखता है।

  • No Agents Required : Ansible agentless architecture पर काम करता है, जिससे आपको managed nodes पर extra software install करने कि जरूरत नहीं होती।

  • Cross-Platform Support : Ansible को multiple platforms पर use किया जा सकता है, जैसे Linux, Windows, और Cloud platforms .

  • Community Support : Ansible कि एक large community है जो regular updates और improvements provide करती है।

Conclusion

Ansible एक powerful automation tool है जो IT infrastructure को manage करने के लिए highly effective है। इसका use configuration management, application deployment, और orchestration के लिए किया जाता है।

Ansible का simple architecture और agentless approach इसे beginner-friendly बनाता है, जिससे आप अपने infrastructure automation journey को easily start कर सकते हैं।

Recent Blogs

Loading ...

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook

Your Thought ?

Please wait . . .

    0 Comment(s) found !