युनिट्स
1. DevOps आणि Cloud AI चा परिचय: भूमिका, सीमा, प्रमाणीकरण, सुरक्षा आणि रहस्ये 2. कृत्रिम बुद्धिमत्तेसह CI/CD पाइपलाइन डिझाइन करणे: GitHub क्रिया आणि GitLab CI 3. कोड म्हणून पायाभूत सुविधा व्यवस्थापित करणे: टेराफॉर्म आणि IaC सह कृत्रिम बुद्धिमत्ता 4. कंटेनरायझेशन: डॉकरफाइल आणि आर्टिफिशियल इंटेलिजन्ससह इमेज ऑप्टिमायझेशन 5. कुबर्नेट्स: मॅनिफेस्ट, हेल्म आणि एआय-पॉवर्ड ऑर्केस्ट्रेशन 6. देखरेख आणि निरीक्षणक्षमता: मेट्रिक, लॉग, ट्रेस आणि अलार्म नियम 7. घटना व्यवस्थापन आणि पोस्टमॉर्टम: आर्टिफिशियल इंटेलिजन्ससह मूळ कारण विश्लेषण 8. क्लाउड कॉस्ट ऑप्टिमायझेशन (फिनऑप्स): कृत्रिम बुद्धिमत्तेसह कचरा शोधणे 9. स्क्रिप्ट आणि ऑटोमेशन जनरेशन: बॅश, पायथन आणि पॉवरशेल 10. सुरक्षा आणि रहस्ये व्यवस्थापन: DevSecOps आणि कृत्रिम बुद्धिमत्ता 11. उत्पादन पडताळणी, रिलीझ स्ट्रॅटेजीज आणि एंड-टू-एंड AI वर्कफ्लो
युनिट 5 / 11

कुबर्नेट्स: मॅनिफेस्ट, हेल्म आणि एआय-पॉवर्ड ऑर्केस्ट्रेशन

नफा:

  • मूलभूत वस्तू (पॉड, डिप्लॉयमेंट, सर्व्हिस, कॉन्फिगमॅप, सिक्रेट, नेमस्पेस) आणि कुबर्नेट्सचे घोषणात्मक तत्त्वज्ञान समजून घेण्याची आणि कृत्रिम बुद्धिमत्तेसाठी ठोस प्रकटीकरण तयार करण्याची क्षमता
  • उत्पादनासाठी मॅनिफेस्ट तयार करण्याची क्षमता आणि संसाधन मर्यादा, आरोग्य तपासणी (प्रोब), निश्चित प्रतिमा टॅग आणि अरुंद RBAC सह सुरक्षित
  • अंमलबजावणीपूर्वी योग्य संदर्भ पडताळण्याची आणि ड्राय-रन/डिफसह ड्राय-रन शिस्त लागू करण्याची क्षमता

एक कंटेनर चालवणे सोपे आहे. परंतु डझनभर सर्व्हरवर शेकडो कंटेनर पसरवणारी प्रणाली स्थापित करणे, त्यापैकी एक क्रॅश झाल्यावर स्वयंचलितपणे रीस्टार्ट होते, लोड वाढल्यावर त्याची प्रतिकृती बनते आणि शून्य डाउनटाइमसह अद्यतनित करते? ते ऑर्केस्ट्रेशन आहे, आणि उद्योग मानक साधन म्हणजे कुबर्नेट्स (थोडक्यात K8s) — एक प्लॅटफॉर्म जो क्लस्टरमध्ये कंटेनर स्वयंचलितपणे तैनात करतो, स्केल करतो आणि व्यवस्थापित करतो. Kubernetes शक्तिशाली परंतु जटिल आहे: प्रत्येक गोष्ट लांब, इंडेंटेशन-संवेदनशील YAML फायलींद्वारे परिभाषित केली जाते — ज्यांना मॅनिफेस्ट म्हणतात. इथेच AI ताजी हवेचा श्वास देते; योग्य संदर्भासह, ते त्वरीत हे प्रकटीकरण तयार करते आणि त्यांच्या रहस्यमय त्रुटी डीकोड करते.

परंतु कुबर्नेट्समध्ये, चुकीचे प्रकटीकरण म्हणजे संपूर्ण सेवा उभी करण्यात अयशस्वी होणे, चुकीचे स्केलिंग करणे किंवा असुरक्षितता सोडणे. AI द्वारे उत्पादित प्रत्येक मॅनिफेस्ट समजून घेणे आणि सत्यापित करणे ही तुमची जबाबदारी आहे - विशेषत: kubectl लागू करण्यापूर्वी.

कुबर्नेट्स मूळ वस्तू

कुबर्नेट्सचे ऑडिट करण्यासाठी, तुम्हाला मुख्य संकल्पना माहित असणे आवश्यक आहे:

  • पॉड: सर्वात लहान कार्यरत युनिट; त्यात एक किंवा अनेक कंटेनर असतात. साधारणपणे, पॉड थेट वापरला जात नाही, परंतु त्याचे व्यवस्थापन करणार्या मूळ वस्तू वापरल्या जातात.
  • उपयोजन: अनुप्रयोगाच्या किती प्रती चालतील, कोणती प्रतिमा वापरेल आणि ती कशी अपडेट केली जाईल हे परिभाषित करते. पॉड क्रॅश झाल्यास ते आपोआप पुन्हा तयार होईल.
  • सेवा: एक निश्चित नेटवर्क पत्ता आणि पॉड्सवर लोड बॅलेंसिंग प्रदान करते; शेंगा येतात आणि जातात, तरीही प्रवेशाचा पत्ता बदलत नाही.
  • कॉन्फिगमॅप आणि गुप्त: कॉन्फिगरेशन मूल्ये आणि गुप्त माहिती पॉड्सपासून वेगळे ठेवते. कॉन्फिगमॅप हे स्पष्ट सेटिंग्जसाठी आहे, सिक्रेट हे संवेदनशील मूल्यांसाठी आहे.
  • नेमस्पेस: संसाधने तार्किकरित्या विभाजित आणि विलग करणारे क्षेत्र (उदा. dev, prod).
  • प्रवेश: क्लस्टरमधील सेवांसाठी बाह्य जगातून HTTP ट्रॅफिक निर्देशित करणारा नियम सेट.

हेल्म हा कुबर्नेट्सचा "पॅकेज मॅनेजर" आहे: तो तुम्हाला आवर्ती मॅनिफेस्ट (चार्ट) टेम्पलेट बनविण्यास आणि एकाच कमांडसह वेगवेगळ्या वातावरणात भिन्न मूल्यांसह स्थापित करण्यास अनुमती देतो. AI रॉ मॅनिफेस्ट आणि हेल्म चार्ट दोन्ही तयार करते.

इतक्या वस्तू का आहेत? कारण Kubernetes चे मूळ तत्वज्ञान घोषणात्मक आहे: तुम्ही "सिस्टम शेवटी कशी दिसावी" हे तुम्ही परिभाषित करता (उदा. "नेहमी या ऍप्लिकेशनच्या 3 प्रती चालू ठेवा"), तर Kubernetes सतत वर्तमान स्थितीला त्या इच्छित स्थितीच्या जवळ हलवते. जर शेंगा मेला तर तो नवीन तयार करतो; जर एक नोड खाली गेला तर ते कामाचा भार दुसऱ्या नोडवर हलवते. म्हणूनच मॅनिफेस्ट हे "डू" कमांड नसून "हे असे होऊ द्या" पाककृती आहेत. एआय तयार करत असलेल्या मॅनिफेस्टचे वाचन करताना हा फरक समजून घेणे महत्त्वाचे आहे: प्रत्येक डोमेन सिस्टमच्या इच्छित स्थितीचे वर्णन करते. चुकीचे डोमेन म्हणजे कुबर्नेट्स चुकीच्या ध्येयाकडे काम करत आहे — आणि ते ध्येय शांतपणे, सतत लागू केले जाते.

टीप: Kubernetes मध्ये, सर्वात महत्वाचे सुरक्षित चाचणी साधन म्हणजे kubectl apply --dry-run=server -f file.yaml: सर्व्हर स्वीकारेल की नाही आणि मॅनिफेस्ट लागू न करता काय करावे हे ते दर्शवते. उत्पादनावर मॅनिफेस्ट लागू करण्यापूर्वी ड्राय-रन आणि कुबेक्टल डिफ चालवण्याची खात्री करा.

स्टेप बाय स्टेप: AI सह मॅनिफेस्ट तयार करणे

  1. अर्ज आणि गरज यांचे वर्णन करा. प्रतिमेचे नाव, पोर्ट, किती प्रतिकृती, संसाधन मर्यादा (CPU/मेमरी).
  2. उपयोजन + सेवा विनंती. सहसा दोन्ही एकत्र आवश्यक असतात.
  3. स्वतंत्र कॉन्फिगरेशन आणि गुप्त. कॉन्फिगमॅपसाठी सेटिंग्ज, सिक्रेटसाठी संवेदनशील मूल्ये.
  4. आरोग्य तपासणी जोडा. livenessProbe (ते लाइव्ह आहे का) आणि रेडिनेसप्रोब (ते रहदारीसाठी तयार आहे का) गंभीर आहेत.
  5. संसाधन मर्यादा सेट करा. विनंत्या/मर्यादेशिवाय पॉड संपूर्ण नोड वापरू शकतो.
  6. `--ड्राय-रन` आणि `डिफ` सह सत्यापित करा, नंतर अर्ज करा. चाचणी नेमस्पेसमध्ये प्रथम.

सुरक्षा: कुबर्नेट्स-विशिष्ट जोखीम

  1. रहस्य खरोखर गुप्त नाही - ते फक्त बेस64 आहे. Kubernetes गुप्त ऑब्जेक्ट base64 मूल्ये एन्कोड करते; हे एन्क्रिप्शन नाही, ते सहजपणे डिक्रिप्ट केले जाते. खऱ्या गोपनीयतेसाठी, etcd एन्क्रिप्शन आणि बाह्य व्हॉल्ट (वॉल्ट, क्लाउड गुप्त व्यवस्थापक) आवश्यक आहेत. Git वर कधीही गुप्त प्रकटीकरण करू नका (यासाठी उपाय आहेत जसे की सीलबंद रहस्ये/बाह्य रहस्ये).
  2. संसाधन मर्यादा सेट करा. मर्यादेशिवाय पॉड मेमरी लीकसह संपूर्ण नोड क्रॅश करू शकतो.
  3. किमान अधिकार (RBAC). रोल-बेस्ड ऍक्सेस कंट्रोलसह, प्रत्येक सेवेला/वापरकर्त्याला फक्त आवश्यक असलेल्या परवानग्या असतात. एआय कधीकधी मोठे क्लस्टर-ॲडमिन देते; हे कमी करा.
  4. `नवीनतम` प्रतिमा टॅग वापरू नका. कोणती आवृत्ती चालू आहे हे तुम्हाला माहीत नाही आणि तुम्ही ती परत करू शकत नाही.
खबरदारी: kubectl हटवा किंवा चुकीचा लागू केल्यास थेट उपयोजन नष्ट होऊ शकते. आदेश चालवण्यापूर्वी तुम्ही कोणत्या नेमस्पेसमध्ये आहात (kubectl config current-context) याची खात्री करा; उत्पादन संदर्भात अपघाती कार्य ही एक सामान्य आपत्ती आहे.

रॉ मॅनिफेस्ट वि हेल्म टेबल

निकष

कच्चा YAML प्रकट

हेल्म चार्ट

स्थापना

kubectl लागू -f

हेल्म स्थापित करा

मल्टीमीडिया (dev/prod)

कॉपी-पेस्ट, त्रुटी प्रवण

सिंगल चार्ट, भिन्न मूल्ये.yaml

आवृत्ती/रोलबॅक

हाताने

हेल्म रोलबॅकसह सोपे

शिकण्याची वक्र

कमी

मध्यम

जेव्हा

लहान, एकल वातावरण

मल्टी-मीडिया, पुनरावृत्ती सेवा

तीन लहान प्रकरणे

केस 1 - क्रॅश झालेल्या सेवेचे रहस्य. पॉड सतत रीबूट होत होता (CrashLoopBackOff). संघाने AI ला लॉग आणि मॅनिफेस्ट दिले; एआयने दाखवले की पॉड कधीही "तयार" मानला जात नाही कारण रेडिनेसप्रोब चुकीच्या पोर्टकडे पाहत होता. त्यांनी बंदर दुरुस्त केले, सेवा 10 मिनिटांत स्थिर झाली. हा संबंध व्यक्तिचलितपणे स्थापित करण्यासाठी काही तास लागू शकतात.

केस 2 - मर्यादा सेट न केल्याने गाठ तोडली. तैनातीमध्ये कोणतीही मर्यादा नव्हती; स्मृती गळतीमुळे पॉड फुगला आणि संपूर्ण नोड क्रॅश झाला, शेजारच्या सेवा देखील खाली आणल्या. घटनेनंतर, त्यांनी AI ला "वाजवी CPU/मेमरी विनंत्या आणि सर्व उपयोजनांमध्ये मर्यादा जोडा" असे सांगितले आणि ते मानक केले. एक गहाळ ओळ डाउनटाइमचे तास खर्च करते.

केस 3 — मोठा RBAC कॅप्चर केला. तपासणी दरम्यान, AI द्वारे व्युत्पन्न केलेले सर्व्हिस खाते मॅनिफेस्ट क्लस्टर-प्रशासक भूमिकेशी जोडलेले असल्याचे आढळले - म्हणजे सेवा संपूर्ण क्लस्टर व्यवस्थापित करू शकते. टीमने त्यांच्या नेमस्पेसमध्ये फक्त पॉड्स वाचण्याची परवानगी कमी केली. कमीत कमी विशेषाधिकाराच्या तत्त्वाने सुरक्षा भेद्यता बंद केली.

चार कॉपी करण्यायोग्य टेम्पलेट्स

1) उपयोजन + सेवा उत्पादन:

Kubernetes साठी डिप्लॉयमेंट आणि सर्व्हिस मॅनिफेस्ट लिहा. अनुप्रयोग: [AD], प्रतिमा: [इमेज: निश्चित-आवृत्ती], पोर्ट: [X], प्रतिकृती: [N]. नियम:- CPU/मेमरी विनंत्या आणि मर्यादा जोडा.- livenessProbe आणि readinessProbe परिभाषित करा.- ConfigMap वरून कॉन्फिगरेशन वाचा, सीक्रेट ऑब्जेक्टमधून गुप्त; मॅनिफेस्टमध्ये मूल्ये एम्बेड करू नका, प्लेसहोल्डर वापरा. - इमेज टॅग ":लेटेस्ट" वापरू नका. वर्णनासह द्या.

2) मॅनिफेस्ट त्रुटी सोडवणे:

सध्याचा पॉड [CrashLoopBackOff/Pending/ImagePullBackOff] स्थितीत आहे. खालील मॅनिफेस्ट आणि 'kubectl describe' आउटपुटनुसार, संभाव्य मूळ कारणांची संभाव्यतेच्या क्रमाने यादी करा आणि प्रत्येकासाठी verify कमांड जारी करा. मॅनिफेस्ट: [YAML] वर्णन करा: [आउटपुट]

3) सुरक्षा/अखंडता तपासणी:

हे Kubernetes मॅनिफेस्ट तपासा: संसाधन मर्यादा गहाळ आहे का, तो प्रॉब गहाळ आहे का, एक :नवीनतम टॅग आहे का, खूप विस्तृत RBAC/परवानगी आहे का, मॅनिफेस्टमध्ये गुप्त एम्बेड केलेले आहे का? महत्त्वाच्या क्रमाने आणि दुरुस्तीसह निष्कर्ष लिहा. प्रकट: [YAML]

4) हेल्म चार्टमध्ये रूपांतर:

खालील रॉ मॅनिफेस्ट्स पुन्हा वापरता येण्याजोग्या हेल्म चार्टमध्ये रूपांतरित करा: values.yaml (इमेज, प्रतिकृती, स्त्रोत, वातावरण) मध्ये कोणती मूल्ये जावी? चार्ट संरचना आणि नमुना values.yaml.Manifest दर्शवा: [YAML]

कमकुवत प्रॉम्प्ट / मजबूत प्रॉम्प्ट

कमकुवत: "माझ्या अर्जासाठी Kubernetes YAML लिहा."

परिणाम: एक नो-प्रोब, नो-लिमिट डिप्लॉयमेंट :लेटेस्ट टॅगसह, गुप्त प्लेन एम्बेड करणे; उत्पादनामध्ये असुरक्षित आणि नाजूक.

सशक्त: "कुबरनेट्स डिप्लॉयमेंट + सर्व्हिस लिहा. इमेज myapp:1.4.2, 3 प्रतिकृती, 8080 पोर्ट. CPU 100m-500m, मेमरी 128Mi-512Mi विनंत्या/मर्यादा जोडा. /healthz साठी लाइव्हनेस प्रोब ठेवा, रेडिनेस प्रोब कडून / तयार करा, "ऑब्जेक्ट रीडीनेस सेट करा. मॅनिफेस्टमध्ये एम्बेड करा.

फरक: दुसरी प्रॉम्प्ट आवृत्ती स्केल, संसाधन मर्यादा, आरोग्य तपासणी आणि गुप्त नियम देते; आउटपुट उत्पादनाच्या जवळ आणि सुरक्षित आहे.

सामान्य चुका

  • संसाधन मर्यादा सेट करत नाही. एकच पॉड संपूर्ण नोड वापरू शकतो.
  • आरोग्य तपासणी (प्रोब) जोडत नाही. कुबर्नेट्स क्रॅश झालेला/तयार नसलेला पॉड शोधू शकत नाही.
  • `:नवीनतम` टॅग. कोणती आवृत्ती चालू आहे हे अस्पष्ट होते, ते परत आणले जाऊ शकत नाही.
  • थेट Git ला गुप्त वचनबद्ध करणे. बेस64 हे एन्क्रिप्शन नाही; प्रत्येकजण ते सोडवतो.
  • चुकीच्या संदर्भ/नेमस्पेसमध्ये कमांड चालवणे. उत्पादनामध्ये क्रॅश करण्याचा सर्वात सामान्य मार्ग.
  • `-ड्राय-रन`/`डिफ` वगळणे. अंमलबजावणीपूर्वी काय होईल ते पाहत नाही.

सारांशात

Kubernetes एक शक्तिशाली पण जटिल ऑर्केस्ट्रेटर आहे जो आपोआप डिप्लॉय करतो, स्केल करतो आणि एका क्लस्टरमध्ये कंटेनर्स ऑप्टिमाइझ करतो; प्रत्येक गोष्ट मॅनिफेस्ट YAML द्वारे परिभाषित केली जाते, ज्याला Helm टेम्प्लेटाइज करते. AI त्वरीत तैनाती/सेवा मॅनिफेस्ट आणि हेल्म चार्ट तयार करते, अनाकलनीय बग सोडवते — परंतु तुम्हाला स्पष्टपणे संसाधन मर्यादा, आरोग्य तपासणी, अपरिवर्तनीय प्रतिमा टॅग, अरुंद RBAC आणि गुप्त सुरक्षा नियम विचारावे लागतील. --dry-run, diff आणि योग्य संदर्भ तपासणी या सवयी आहेत ज्या उत्पादन क्रॅश होण्यास प्रतिबंध करतात.

अर्ज कार्य

AI ला "डिप्लॉयमेंट + सर्व्हिस जनरेशन" टेम्प्लेटसह नमुना ऍप्लिकेशनसाठी मॅनिफेस्ट तयार करा. नंतर: (1) "सुरक्षा/सॅनिटी चेक" टेम्प्लेटसह संसाधन मर्यादा, प्रोब, :नवीनतम आणि गुप्त तपासा; (२) शक्य असल्यास चाचणी क्लस्टर/मिनिक्युबवर kubectl apply --dry-run=server चालवा आणि आउटपुट वाचा; (3) तुम्हाला गहाळ झालेल्या दोन सर्वात गंभीर सुरक्षा/मजबूत आयटम लक्षात घ्या.

चेकलिस्ट

  • [ ] मी माझ्या विनंतीवर प्रतिमा आवृत्ती, प्रतिकृतींची संख्या, पोर्ट आणि संसाधन मर्यादा जोडल्या आहेत.
  • [ ] मी मॅनिफेस्टमध्ये चैतन्य आणि तयारीची चौकशी जोडली.
  • [ ] प्रतिमा टॅग निश्चित; मी वापरले नाही :latest.
  • [ ] गुप्त हे मॅनिफेस्टमध्ये एम्बेड केलेले नाही; मी सीक्रेट ऑब्जेक्ट/बाह्य तिजोरी वापरली.
  • मी RBAC/परवानग्या कमीत कमी परवानग्यांपर्यंत कमी केल्या आहेत.
  • अर्ज करण्यापूर्वी, मी योग्य संदर्भात असल्याचे सत्यापित केले आणि ते --dry-run/diff आउटपुट.