DevOps बूटकैंप · पाठ

डिप्लॉयमेंट्स को समझना

जानिए कि डिप्लॉयमेंट्स स्टेटलेस ऐप्लिकेशनों के लिए पॉड्स और ReplicaSets के प्रबंधन को कैसे स्वचालित करते हैं।

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

डिप्लॉयमेंट्स को समझना, CoddyKit पर DevOps बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह DevOps बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

डिप्लॉयमेंट क्या होते हैं?

स्वागत है! Kubernetes में अनुप्रयोगों का प्रबंधन करने का अर्थ उनके पॉड का प्रबंधन करना है। लेकिन अलग-अलग पॉड या यहाँ तक कि ReplicaSets का सीधे प्रबंधन करना भी जटिल हो सकता है।

डिप्लॉयमेंट एक उच्च-स्तरीय ऑब्जेक्ट है जो स्टेटलेस अनुप्रयोगों के प्रबंधन को सरल बनाता है। इसे अपने अनुप्रयोग के प्रबंधक की तरह समझिए।

  • यह आपके अनुप्रयोग की वांछित स्थिति परिभाषित करता है।
  • पॉड के विफल होने पर भी यह सुनिश्चित करता है कि वह स्थिति बनी रहे।
  • यह अद्यतनों और रोलबैक को स्वचालित करता है।

डिप्लॉयमेंट का उपयोग क्यों करें?

डिप्लॉयमेंट Kubernetes में अनुप्रयोगों को विश्वसनीय रूप से चलाने के लिए महत्वपूर्ण लाभ प्रदान करते हैं:

  • स्वचालित प्रबंधन: ये पॉड के निर्माण, स्केलिंग और हटाने का कार्य संभालते हैं।
  • स्वयं-सुधार: यदि कोई पॉड क्रैश हो जाता है, तो वांछित संख्या में प्रतिकृतियाँ बनाए रखने के लिए डिप्लॉयमेंट उसे स्वचालित रूप से बदल देता है।
  • घोषणात्मक अद्यतन: आप वांछित नई स्थिति बताते हैं और डिप्लॉयमेंट वहाँ पहुँचने का तरीका निर्धारित करता है, जैसे नए संस्करण जारी करना।

स्टेटलेस अनुप्रयोगों के प्रबंधन के लिए इनका उपयोग करने की अनुशंसा की जाती है।

डिप्लॉयमेंट की मुख्य भूमिका

मूल रूप से, डिप्लॉयमेंट ReplicaSets का प्रबंधन करता है। ReplicaSet का कार्य हर समय पॉड की निर्दिष्ट संख्या में प्रतिकृतियाँ चलती रहना सुनिश्चित करना है।

इसलिए डिप्लॉयमेंट अपना लक्ष्य प्राप्त करने के लिए ReplicaSets का उपयोग करता है: आपकी परिभाषा के अनुसार अनुप्रयोग में सही संख्या में स्वस्थ पॉड चलते रहें।

यह अमूर्तीकरण आपके अनुप्रयोग के जीवनचक्र को परिभाषित और बनाए रखना बहुत आसान बना देता है।

डिप्लॉयमेंट YAML की संरचना

अधिकांश Kubernetes ऑब्जेक्ट की तरह, डिप्लॉयमेंट भी YAML का उपयोग करके परिभाषित किए जाते हैं। आमतौर पर इनमें आपको निम्नलिखित मुख्य अनुभाग मिलेंगे:

  • apiVersion और kind: ऑब्जेक्ट के प्रकार (Deployment) की पहचान करते हैं।
  • metadata: स्वयं डिप्लॉयमेंट का नाम, लेबल आदि।
  • spec: मुख्य परिभाषा, जिसमें शामिल हैं:
    • replicas: पॉड की वांछित संख्या।
    • selector: डिप्लॉयमेंट अपने द्वारा प्रबंधित पॉड को कैसे खोजता है।
    • template: बनाए जाने वाले पॉड का प्रारूप।

पॉड टेम्पलेट

डिप्लॉयमेंट के spec के भीतर मौजूद template फ़ील्ड अत्यंत महत्वपूर्ण है। यह मूल रूप से पॉड की पूरी परिभाषा होती है।

इस डिप्लॉयमेंट द्वारा बनाए गए सभी पॉड इसी टेम्पलेट का उपयोग करेंगे। इसका अर्थ है कि आप निम्नलिखित परिभाषित करते हैं:

  • उपयोग की जाने वाली कंटेनर इमेज।
  • उपलब्ध कराए जाने वाले पोर्ट।
  • पर्यावरण चर।
  • संसाधन अनुरोध और सीमाएँ।
  • और भी बहुत कुछ!

इस टेम्पलेट में किए गए परिवर्तन आपके अनुप्रयोग के अद्यतन शुरू कर देते हैं।

एक सरल डिप्लॉयमेंट बनाना

आइए एक सरल एनजिन्क्स वेब सर्वर के लिए डिप्लॉयमेंट परिभाषित करें। हम 3 प्रतिकृतियाँ चाहते हैं।

ध्यान दें कि selector.matchLabels का template.metadata.labels से मेल खाना आवश्यक है। इससे डिप्लॉयमेंट को पता चलता है कि उसके स्वामित्व वाले पॉड कौन-से हैं।

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        ports:
        - containerPort: 80

डिप्लॉयमेंट लागू करना

अपने Kubernetes क्लस्टर, जैसे मिनीक्यूब, में यह डिप्लॉयमेंट बनाने के लिए आप kubectl apply कमांड का उपयोग करते हैं। ऊपर दिए गए YAML को nginx-deployment.yaml के रूप में सहेजें।

kubectl डिप्लॉयमेंट ऑब्जेक्ट बनाएगा। इसके बाद डिप्लॉयमेंट नियंत्रक इस ऑब्जेक्ट को देखकर कार्रवाई करेगा और एक ReplicaSet बनाएगा, जो आगे 3 एनजिन्क्स पॉड बनाएगा।

kubectl apply -f nginx-deployment.yaml

अपने डिप्लॉयमेंट का निरीक्षण करना

लागू करने के बाद, आप अपने डिप्लॉयमेंट और उसके द्वारा प्रबंधित पॉड की स्थिति जाँच सकते हैं:

  • kubectl get deployments: आपका डिप्लॉयमेंट दिखाता है।
  • kubectl get replicasets: डिप्लॉयमेंट द्वारा बनाए गए ReplicaSet को दिखाता है।
  • kubectl get pods -l app=nginx: डिप्लॉयमेंट द्वारा प्रबंधित पॉड दिखाता है, जो उसके लेबल चयनकर्ता के माध्यम से प्राप्त किए जाते हैं।
  • kubectl describe deployment my-nginx-deployment: घटनाओं सहित डिप्लॉयमेंट की विस्तृत जानकारी प्रदान करता है।
kubectl get deployments
kubectl get pods -l app=nginx
kubectl describe deployment my-nginx-deployment

वांछित स्थिति बनाए रखना

डिप्लॉयमेंट की सबसे शक्तिशाली विशेषताओं में से एक वांछित स्थिति बनाए रखने की क्षमता है। यदि आपने replicas: 3 परिभाषित किया है, तो डिप्लॉयमेंट यह सुनिश्चित करेगा कि 3 पॉड हमेशा चलते रहें।

एनजिन्क्स के किसी एक पॉड को मैन्युअल रूप से हटाने का प्रयास करें (kubectl delete pod <pod-name>)। आप देखेंगे कि डिप्लॉयमेंट उसे बदलने के लिए तुरंत एक नया पॉड बना देता है! यही स्वयं-सुधार की प्रक्रिया है।

त्वरित जाँच

डिप्लॉयमेंट का मुख्य रूप से किस प्रकार के अनुप्रयोग के प्रबंधन के लिए उपयोग किया जाता है?

पुनरावलोकन: डिप्लॉयमेंट को समझना

बहुत अच्छा! आपने Kubernetes डिप्लॉयमेंट के साथ अपने पहले कदम उठाए हैं।

  • डिप्लॉयमेंट स्टेटलेस अनुप्रयोगों के प्रबंधन के लिए उच्च-स्तरीय ऑब्जेक्ट होते हैं।
  • ये ReplicaSets का प्रबंधन करके पॉड के निर्माण, स्केलिंग और स्वयं-सुधार को स्वचालित करते हैं।
  • आप YAML मेनिफेस्ट का उपयोग करके डिप्लॉयमेंट परिभाषित करते हैं, जिसमें replicas की वांछित संख्या और पॉड के लिए एक template निर्दिष्ट किया जाता है।
  • kubectl apply डिप्लॉयमेंट बनाता है और kubectl get/describe उसकी निगरानी में सहायता करते हैं।

अब हम ReplicaSets और उनके द्वारा आपकी वांछित पॉड संख्या सुनिश्चित किए जाने के तरीके पर अधिक गहराई से चर्चा करेंगे!

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

एआई शिक्षक के साथ DevOps बूटकैंप सीखें — निःशुल्क

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

पाठ्यक्रम
142
पाठ
568

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

क्या “डिप्लॉयमेंट्स को समझना” पाठ निःशुल्क है?

हाँ — DevOps बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “डिप्लॉयमेंट्स को समझना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। DevOps बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“डिप्लॉयमेंट्स को समझना” में मैं क्या सीखूँगा?

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

क्या DevOps बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

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

“डिप्लॉयमेंट्स को समझना” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. डिप्लॉयमेंट्स को समझना
  2. ReplicaSets से ऐप्लिकेशन स्केल करना
  3. क्रमिक अपडेट और पिछली स्थिति में वापसी
  4. डिप्लॉयमेंट रणनीतियाँ: ब्लू-ग्रीन और कैनरी
← DevOps बूटकैंप पर वापस जाएँ