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

क्रमिक अपडेट और पिछली स्थिति में वापसी

बिना डाउनटाइम के ऐप्लिकेशन अपडेट लागू कीजिए और समस्या आने पर पिछले संस्करणों पर लौटना सीखिए।

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

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

शून्य-डाउनटाइम अपडेट: क्यों?

किसी सक्रिय अनुप्रयोग को अपडेट करने की कल्पना कीजिए। सावधानीपूर्वक योजना के बिना, उपयोगकर्ताओं को डाउनटाइम या त्रुटियों का सामना करना पड़ सकता है। यहीं Kubernetes में रोलिंग अपडेट उपयोगी साबित होते हैं!

रोलिंग अपडेट आपको सेवा में बाधा डाले बिना अनुप्रयोग को नए संस्करण में अपडेट करने देते हैं। नए संस्करण धीरे-धीरे लागू किए जाते हैं, जिससे आपका ऐप उपलब्ध बना रहता है।

Deployments अपडेट कैसे संभालते हैं

जब आप Deployment के Pod टेम्पलेट को अपडेट करते हैं (जैसे कंटेनर इमेज बदलते हैं), तो Kubernetes सब कुछ बंद करके फिर से शुरू नहीं करता। इसके बजाय, यह डिफ़ॉल्ट रूप से RollingUpdate रणनीति का उपयोग करता है।

  • यह अपडेट किए गए कॉन्फ़िगरेशन के साथ नए Pods बनाता है।
  • नए Pods तैयार होने पर यह पुराने Pods को धीरे-धीरे समाप्त करता है।
  • यह प्रक्रिया बहुत कम या बिना किसी डाउनटाइम के सुचारु संक्रमण सुनिश्चित करती है।

रोलआउट की गति नियंत्रित करना

आप अपने Deployment के .spec.strategy.rollingUpdate अनुभाग में दो प्रमुख पैरामीटर का उपयोग करके रोलिंग अपडेट के व्यवहार को बारीकी से समायोजित कर सकते हैं:

  • maxUnavailable: अपडेट के दौरान अनुपलब्ध रह सकने वाले Pods की अधिकतम संख्या। यह पूर्ण संख्या या प्रतिशत हो सकती है।
  • maxSurge: Pods की वांछित संख्या से अधिक बनाए जा सकने वाले Pods की अधिकतम संख्या। यह भी पूर्ण संख्या या प्रतिशत हो सकती है।

डिफ़ॉल्ट रूप से, दोनों 25% पर सेट होते हैं।

हमारा प्रारंभिक Deployment

आइए एक सरल Nginx Deployment से शुरुआत करें। यह YAML nginx:1.14.2 की 3 प्रतिकृतियों के साथ चल रहे हमारे प्रारंभिक अनुप्रयोग को परिभाषित करता है।

अगले चरण में रोलिंग अपडेट करने के लिए हम इसे आधार के रूप में उपयोग करेंगे।

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

रोलिंग अपडेट करना

अब आइए अपने Nginx संस्करण को 1.14.2 से 1.15.0 में अपडेट करें। हम YAML में केवल इमेज बदलकर उसे लागू करेंगे।

Kubernetes बदलाव का पता लगाकर अपने-आप रोलिंग अपडेट शुरू कर देगा। नीचे दिए गए image फ़ील्ड को देखें:

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

रोलआउट की स्थिति पर नज़र रखना

अपडेट की गई YAML लागू करने के बाद, आप kubectl rollout status कमांड का उपयोग करके अपने रोलिंग अपडेट की प्रगति पर नज़र रख सकते हैं:

kubectl rollout status deployment/my-nginx

आपको नए Pods के बनने और पुराने Pods के समाप्त होने के संदेश दिखाई देंगे, जब तक कि अपडेट पूरा न हो जाए। पुराने और नए ReplicaSets देखने के लिए आप kubectl get rs का भी उपयोग कर सकते हैं।

रोलआउट इतिहास जाँचना

Kubernetes आपके Deployments के संशोधनों का इतिहास रखता है। बदलावों को समझने और संभावित रोलबैक के लिए यह बेहद उपयोगी है।

इतिहास देखने के लिए यह कमांड उपयोग करें:

kubectl rollout history deployment/my-nginx

आपको संशोधनों की सूची दिखाई देगी, जिनमें प्रत्येक आपके Deployment की एक अलग स्थिति दर्शाता है। CHANGE-CAUSE अक्सर कमांड या YAML में किए गए बदलाव को दर्शाता है।

रोलबैक कब आवश्यक होता है

सावधानीपूर्वक परीक्षण के बावजूद, कभी-कभी अनुप्रयोग का नया संस्करण ऐसे बग या प्रदर्शन संबंधी समस्याएँ ले आता है जिनका पता नहीं चल पाया था। ऐसी महत्वपूर्ण परिस्थितियों में किसी ज्ञात स्थिर स्थिति पर जल्दी लौटने का तरीका आवश्यक होता है।

यहीं रोलबैक काम आता है। इसकी मदद से आप समस्याग्रस्त अपडेट को पूर्ववत करके अपने Deployment को उसके इतिहास में मौजूद पिछले कार्यशील संस्करण पर लौटा सकते हैं।

रोलबैक करना

तुरंत पिछले संशोधन पर लौटने के लिए यह कमांड उपयोग करें:

kubectl rollout undo deployment/my-nginx

यदि आप किसी विशिष्ट संशोधन (जैसे संशोधन 1) पर लौटना चाहते हैं, तो उसे निर्दिष्ट कर सकते हैं:

kubectl rollout undo deployment/my-nginx --to-revision=1

Kubernetes Pods को निर्दिष्ट ऐतिहासिक कॉन्फ़िगरेशन पर लौटाने के लिए एक और रोलिंग अपडेट करेगा।

रोलआउट रणनीति जाँच

निम्नलिखित में से किन पैरामीटर का उपयोग Kubernetes Deployment की RollingUpdate रणनीति के व्यवहार को नियंत्रित करने के लिए किया जा सकता है?

पुनरावलोकन: सुचारु अपडेट और सुरक्षा उपाय

हमने देखा कि Kubernetes Deployments किस प्रकार शून्य-डाउनटाइम रोलिंग अपडेट सक्षम करते हैं और आपके अनुप्रयोगों को नए संस्करणों में सुचारु रूप से ले जाते हैं। आपने सीखा:

  • Deployments डिफ़ॉल्ट रूप से RollingUpdate का उपयोग करते हैं।
  • maxUnavailable और maxSurge अपडेट की गति नियंत्रित करते हैं।
  • kubectl rollout status प्रगति पर नज़र रखता है।
  • kubectl rollout history संशोधनों का रिकॉर्ड रखता है।
  • kubectl rollout undo स्थिर संस्करणों पर त्वरित रोलबैक की सुविधा देता है।

आपके अनुप्रयोगों में उच्च उपलब्धता और विश्वसनीयता बनाए रखने के लिए ये सुविधाएँ अत्यंत महत्वपूर्ण हैं!

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

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

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

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

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

क्या “क्रमिक अपडेट और पिछली स्थिति में वापसी” पाठ निःशुल्क है?

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

“क्रमिक अपडेट और पिछली स्थिति में वापसी” में मैं क्या सीखूँगा?

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

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

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

“क्रमिक अपडेट और पिछली स्थिति में वापसी” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

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