Ansible Academy · पाठ

Project की Architecture: Roles और Inventory

पूरे Deployment Repo की रूपरेखा बनाएँ।

पाठ 1, कुल 4 में से13 चरण

Project की Architecture: Roles और Inventory, CoddyKit पर Ansible Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Ansible Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Ansible Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

मुख्य परियोजना का लक्ष्य

अब एक वास्तविक बहु-स्तरीय ऐप को क्रमिक परिनियोजन और शून्य डाउनटाइम के साथ जारी करने का समय है। पहला चरण: परियोजना का लेआउट तैयार करना। 🚀

भूमिकाओं में सोचें

सिस्टम को भूमिकाओं में बाँटें: common, web, app, db और loadbalancer जैसे प्रत्येक उद्देश्य के लिए एक भूमिका। हर भूमिका अलग से दोबारा उपयोग और परीक्षण की जा सकती है।

शीर्ष-स्तरीय लेआउट

एक सुव्यवस्थित रिपॉज़िटरी रूट में inventory, group_vars, roles और site.yml की एंट्री प्लेबुक रखती है, ताकि कोई भी व्यक्ति चीज़ें जल्दी ढूँढ सके।

deploy/
  site.yml
  inventory/
  group_vars/
  host_vars/
  roles/

site.yml सबको जोड़ता है

आपकी मुख्य प्लेबुक site.yml हर स्तर की प्लेबुक को क्रम से आयात करती है। यही वह एक कमांड है जो पूरे स्टैक का परिनियोजन करती है।

- import_playbook: plays/loadbalancer.yml
- import_playbook: plays/db.yml
- import_playbook: plays/app.yml
- import_playbook: plays/web.yml

स्तरों को समूहों से जोड़ें

आपका inventory हर स्तर के लिए एक समूह तय करता है: lb, db, app और web। हर प्ले ठीक उन्हीं होस्ट को लक्षित करता है जिनकी ज़िम्मेदारी उसके पास है।

[lb]
lb1

[web]
web1
web2

[app]
app1
app2

[db]
db1

हर स्तर के लिए group_vars

स्तर की सेटिंग group_vars में रखें: वेब पोर्ट, ऐप संस्करण और डेटाबेस क्रेडेंशियल। होस्ट उन्हें अपने-आप प्राप्त कर लेते हैं, इसलिए कॉपी-पेस्ट की आवश्यकता नहीं होती।

group_vars/web.yml:
  nginx_port: 80
  upstream: app:8080

विशेष मामलों के लिए host_vars

जब कोई एक होस्ट अलग हो, तो उसके ओवरराइड host_vars में रखें। उदाहरण के लिए, प्राथमिक डेटाबेस में ऐसी प्रतिकृति सेटिंग हो सकती हैं जो बाकी होस्ट में नहीं हैं।

host_vars/db1.yml:
  postgresql_role: primary

ऐप संस्करण को निश्चित करें

रिलीज़ संस्करण को हार्डकोड की गई स्ट्रिंग के बजाय एक चर बनाएँ। एक ही बदलाव-बिंदु से आप कुछ ही सेकंड में आगे या पीछे का संस्करण अपना सकते हैं।

group_vars/all.yml:
  app_version: "2.4.1"

पर्यावरण अलग रखें

हर पर्यावरण के लिए inventory फ़ोल्डर अलग रखें, ताकि स्टेजिंग और उत्पादन कभी एक ही होस्ट साझा न करें। भूमिकाएँ समान, लक्षित होस्ट अलग।

inventory/
  staging/hosts
  production/hosts

अपनी निर्भरताएँ लॉक करें

बाहरी Galaxy भूमिकाओं को requirements.yml में सूचीबद्ध करें, ताकि हर टीम सदस्य और CI निष्पादन बिल्कुल एक ही ऑटोमेशन कोड इंस्टॉल करे।

roles:
  - name: geerlingguy.nginx
    version: 3.1.4

आर्किटेक्चर पहले तैयार करने का लाभ

सोचा-समझा लेआउट डरावने परिनियोजन को कुछ पूर्वानुमेय कमांड में बदल देता है। अभी की गई संरचना आपको बाद में समस्याएँ सुलझाने से बचाती है। 🧱

त्वरित जाँच

आइए कॉन्फ़िगरेशन के एक हिस्से को सही जगह रखें।

पुनरावृत्ति

आपने रिपॉज़िटरी तैयार की: हर स्तर के लिए भूमिकाएँ, इन्वेंटरी समूह, group_vars और host_vars, तथा पूरे परिनियोजन को चलाने वाली site.yml। ✅

शुरुआत निःशुल्क

एआई शिक्षक के साथ YAML सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “Project की Architecture: Roles और Inventory” पाठ निःशुल्क है?

हाँ—“Project की Architecture: Roles और Inventory” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Ansible Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Ansible Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Project की Architecture: Roles और Inventory” में मैं क्या सीखूँगा?

पूरे Deployment Repo की रूपरेखा बनाएँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Ansible Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Ansible Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Ansible Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“Project की Architecture: Roles और Inventory” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Ansible Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Ansible Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Project की Architecture: Roles और Inventory
  2. Hosts को Provision, Harden और Bootstrap करें
  3. Load Balancer के पीछे Rolling Deploy
  4. Smoke Tests, Rollback और Notifications
← Ansible Academy पर वापस जाएँ