पाठ 1 / 26

Ansible क्या है

Agentless, push-आधारित, घोषणात्मक automation समझाएँ और जानें कि Ansible कहाँ फ़िट बैठता है।

Agents के बिना automation

Ansible servers configure करने, applications deploy करने और कामों का orchestration करने वाला open-source automation tool है। यह agentless है: जिन मशीनों को आप सँभालते हैं उन पर कुछ install नहीं होता; control node SSH (या Windows के लिए WinRM) से जुड़ता है, छोटे modules चलाता है और उन्हें हटा देता है। आप वांछित स्थिति को पठनीय YAML (playbook) में लिखते हैं, और Ansible hosts को उससे मिला देता है। ज़्यादातर modules idempotent हैं, इसलिए वही playbook दोबारा चलाने पर सिस्टम सही हो तो कुछ नहीं बदलता।

Control node से managed nodes तक

आपका control node inventory और playbooks पढ़ता है, SSH से hosts से जुड़ता है और वहाँ छोटे modules चलाता है।

चार चरण: inventory, playbook, connection, modules।
चित्र 1.1 — Inventory, playbook, connection और modules।

रेसिपी, कार्य-सूची नहीं

Shell script कहती है "ये steps चलाओ"। Playbook कहती है "रसोई में अंत में ये व्यंजन तैयार होने चाहिए"। कोई व्यंजन पहले से तैयार हो तो रसोइया उसे छोड़ देता है।

विकल्प जानें

Terraform infrastructure provision करता है (servers, networks बनाना); Ansible उस पर चलने वाली चीज़ें configure करता है। Puppet और Chef agents उपयोग करते हैं। कई टीमें Terraform और Ansible साथ उपयोग करती हैं।

त्वरित जाँच: Ansible के लिए "agentless" का क्या मतलब है?

  • यह SSH उपयोग नहीं कर सकता
  • इसमें control node नहीं होता
  • Managed hosts पर कुछ install नहीं करना पड़ता
  • यह सिर्फ़ एक मशीन पर चलता है
Answer

Managed hosts पर कुछ install नहीं करना पड़ता — Ansible SSH से जुड़कर modules अस्थायी रूप से चलाता है, इसलिए कोई स्थायी agent नहीं चाहिए।