AKS पर कार्यभार तैनात करना
AKS क्लस्टर बनाएँ, kubectl और Helm चार्ट का उपयोग करके बहु-कंटेनर एप्लिकेशन तैनात करें और Azure Load Balancer सेवा से उसे बाहरी रूप से उपलब्ध कराएँ।
AKS पर कार्यभार तैनात करना, CoddyKit पर Cloud & IT Cert Prep का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cloud & IT Cert Prep सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Azure Kubernetes Service क्या है
Azure Kubernetes Service (AKS) एक प्रबंधित Kubernetes सेवा है, जिसमें Microsoft नियंत्रण प्लेन (API सर्वर, etcd, शेड्यूलर आदि) का संचालन और रखरखाव बिना किसी अतिरिक्त लागत के करता है। आपको केवल वर्कर नोड्स (VMs) के लिए भुगतान करना होता है। AKS Kubernetes संस्करण अपग्रेड, नोड OS पैचिंग, नियंत्रण प्लेन स्केलिंग और Azure नेटवर्किंग, स्टोरेज तथा पहचान प्रणालियों के साथ एकीकरण संभालता है। इससे उत्पादन वातावरण में Kubernetes चलाने का परिचालन भार बहुत कम हो जाता है।
AKS Cluster बनाना
az aks create से AKS Cluster बनाइए और नोड की संख्या, VM आकार तथा नेटवर्किंग विकल्प निर्दिष्ट कीजिए। AKS अपने-आप एक नोड resource group बनाता है, जिसमें VMs, managed disks, NICs और लोड बैलेंसर होते हैं। अनुशंसित नेटवर्किंग मोड Azure CNI है — प्रत्येक पॉड को वास्तविक VNet IP पता मिलता है, जिससे NAT के बिना अन्य Azure सेवाओं के साथ सीधा कनेक्शन संभव होता है।
# Create an AKS cluster with 3 nodes
az aks create \
--name myAKSCluster \
--resource-group MyRG \
--location eastus \
--node-count 3 \
--node-vm-size Standard_D2s_v3 \
--enable-managed-identity \
--attach-acr mycontainerregistry \
--network-plugin azure \
--generate-ssh-keys
# Get kubectl credentials
az aks get-credentials --name myAKSCluster --resource-group MyRGनोड पूल
AKS Cluster में कई नोड पूल हो सकते हैं — समान कॉन्फ़िगरेशन वाले VMs के समूह। सिस्टम नोड पूल महत्वपूर्ण Kubernetes सिस्टम घटक (kube-system पॉड्स) चलाता है। उपयोगकर्ता नोड पूल आपके एप्लिकेशन वर्कलोड चलाते हैं। अलग-अलग पूल आपको VM SKU को मिलाकर उपयोग करने देते हैं — वेब ऐप्स के लिए सामान्य-उद्देश्य वाला पूल और ML वर्कलोड के लिए GPU पूल — तथा प्रत्येक को स्वतंत्र रूप से स्केल करने देते हैं।
# Add a GPU node pool for ML workloads
az aks nodepool add \
--cluster-name myAKSCluster \
--resource-group MyRG \
--name gpupool \
--node-count 2 \
--node-vm-size Standard_NC6s_v3 \
--node-taints sku=gpu:NoSchedule
# List node pools
az aks nodepool list \
--cluster-name myAKSCluster \
--resource-group MyRG \
-o tableबहु-कंटेनर एप्लिकेशन परिनियोजित करना
प्रत्येक स्तर के लिए अलग Kubernetes मेनिफेस्ट फ़ाइलें लिखकर और उन्हें kubectl apply से लागू करके AKS पर बहु-स्तरीय एप्लिकेशन परिनियोजित कीजिए। सामान्य परिनियोजन में वेब स्तर के लिए एक परिनियोजन, API स्तर के लिए एक परिनियोजन, दोनों को जोड़ने के लिए सेवाएँ, पर्यावरण कॉन्फ़िगरेशन के लिए एक ConfigMap और एकल होस्टनेम के माध्यम से ऐप को बाहरी रूप से उपलब्ध कराने के लिए एक Ingress संसाधन शामिल होता है।
# Apply all manifests in a directory
kubectl apply -f k8s/
# Or apply individual files
kubectl apply -f frontend-deployment.yaml
kubectl apply -f frontend-service.yaml
kubectl apply -f api-deployment.yaml
kubectl apply -f api-service.yaml
kubectl apply -f ingress.yaml
# Watch rollout status
kubectl rollout status deployment/frontend
kubectl rollout status deployment/apiIngress और Application Gateway
Ingress संसाधन HTTP रूटिंग नियम परिभाषित करता है, जो होस्टनेम और URL पथों को बैकएंड सेवाओं से मैप करते हैं। LoadBalancer सेवा के विपरीत, जिसमें प्रत्येक सेवा के लिए एक बाहरी IP होता है, एकल Ingress नियंत्रक सभी बाहरी HTTP ट्रैफ़िक को संभालता है और नियमों के आधार पर उसे रूट करता है। AKS में TLS समाप्त करने और ट्रैफ़िक को कई सेवाओं तक पहुँचाने के लिए NGINX Ingress Controller या Application गेटवे Ingress Controller (AGIC) का उपयोग कीजिए।
# Ingress routing traffic to two services by path
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: myapp-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx
tls:
- hosts: [myapp.contoso.com]
secretName: myapp-tls
rules:
- host: myapp.contoso.com
http:
paths:
- path: /api
pathType: Prefix
backend:
service: {name: api-svc, port: {number: 80}}
- path: /
pathType: Prefix
backend:
service: {name: frontend-svc, port: {number: 80}}एप्लिकेशन पैकेजिंग के लिए Helm चार्ट
Helm Kubernetes का पैकेज प्रबंधक है। एक चार्ट किसी एप्लिकेशन के सभी Kubernetes मेनिफेस्ट (परिनियोजन, सेवाएँ, Ingress, ConfigMaps) को एक ही संस्करणयुक्त और पैरामीटरयुक्त पैकेज में समेटता है। helm install पर्यावरण-विशिष्ट मानों के साथ चार्ट परिनियोजित करता है। Artifact Hub पर मौजूद Helm रिपॉज़िटरी में सामान्य इन्फ्रास्ट्रक्चर (NGINX, cert-manager, Prometheus, Redis) के लिए पहले से बनाए गए हजारों चार्ट उपलब्ध हैं।
# Add the NGINX Ingress Controller chart repo
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
# Install NGINX Ingress Controller
helm install ingress-nginx ingress-nginx/ingress-nginx \
--namespace ingress-nginx \
--create-namespace \
--set controller.replicaCount=2
# Install your own app chart with custom values
helm install myapp ./charts/myapp -f values-prod.yamlरोलिंग अपडेट और रोलबैक
कंटेनर इमेज टैग बदलकर किसी परिनियोजन को अपडेट कीजिए — Kubernetes एक रोलिंग अपडेट करता है, जिसमें अपडेट की गई इमेज वाले नए पॉड बनाए जाते हैं और पुराने पॉड धीरे-धीरे समाप्त किए जाते हैं, ताकि पूरी प्रक्रिया के दौरान एप्लिकेशन उपलब्ध रहे। यदि नया संस्करण खराब हो, तो kubectl rollout undo का उपयोग करके तुरंत पिछले संशोधन पर वापस लौट आइए। Kubernetes प्रत्येक परिनियोजन के संशोधनों का कॉन्फ़िगर किया जा सकने वाला इतिहास रखता है।
# Update the image to a new version
kubectl set image deployment/myapp \
myapp=mycontainerregistry.azurecr.io/myapp:v2.0
# Watch the rollout progress
kubectl rollout status deployment/myapp
# View rollout history
kubectl rollout history deployment/myapp
# Rollback to the previous version
kubectl rollout undo deployment/myapp
# Rollback to a specific revision
kubectl rollout undo deployment/myapp --to-revision=2Cluster Autoscaler
Cluster Autoscaler लंबित पॉड शेड्यूलिंग और नोड उपयोग के आधार पर AKS नोड पूल से वर्कर नोड्स को अपने-आप जोड़ता या हटाता है। जब सभी नोड भर जाने के कारण पॉड शेड्यूल नहीं हो पाते, तो Cluster Autoscaler नए नोड उपलब्ध कराता है। जब नोड्स का उपयोग कम हो और पॉड्स को समेकित किया जा सके, तो यह नोड्स को खाली कर हटाता है। यह Horizontal Pod Autoscaler का पूरक है — HPA पॉड्स को स्केल करता है, जबकि Cluster Autoscaler नोड्स को स्केल करता है।
# Enable Cluster Autoscaler on the default node pool
az aks update \
--name myAKSCluster \
--resource-group MyRG \
--enable-cluster-autoscaler \
--min-count 2 \
--max-count 10
# Update autoscaler bounds on a specific node pool
az aks nodepool update \
--cluster-name myAKSCluster \
--resource-group MyRG \
--name nodepool1 \
--enable-cluster-autoscaler \
--min-count 3 \
--max-count 20Azure Monitor के साथ AKS की निगरानी
तीसरे पक्ष के निगरानी टूल परिनियोजित किए बिना अपने AKS Cluster से लॉग और मेट्रिक्स एकत्र करने के लिए Azure Monitor Container Insights सक्षम कीजिए। Container Insights Cluster स्वास्थ्य, नोड और पॉड CPU/मेमोरी, कंटेनर लॉग और लाइव पॉड स्ट्रीमिंग के लिए पहले से तैयार डैशबोर्ड उपलब्ध कराता है। यह कस्टम मेट्रिक्स स्क्रैपिंग के लिए Prometheus के साथ एकीकृत होता है और Log Analytics में KQL का उपयोग करके सभी डेटा की क्वेरी करने देता है।
# Enable Azure Monitor Container Insights on AKS
az aks enable-addons \
--addons monitoring \
--name myAKSCluster \
--resource-group MyRG \
--workspace-resource-id /subscriptions/.../workspaces/MyLogAnalytics
# Stream live logs from a running pod
kubectl logs -f deployment/myapp -c myapp
# Query pod resource usage
kubectl top pods --namespace defaultAKS RBAC और Azure Active Directory
Kubernetes RBAC के लिए Azure AD उपयोगकर्ताओं और समूहों का उपयोग करने हेतु AKS को Microsoft Entra ID के साथ एकीकृत कीजिए। अलग-अलग Kubernetes उपयोगकर्ता खाते प्रबंधित करने के बजाय, आप Entra ID ऑब्जेक्ट ID को ClusterRole या Role बाइंडिंग असाइन करते हैं। जब कोई डेवलपर kubectl चलाता है, तो AKS उसके Entra ID टोकन को सत्यापित करता है। इससे केंद्रीकृत पहचान प्रबंधन मिलता है और सशर्त पहुँच तथा MFA नीतियों के साथ एकीकरण होता है।
# Enable Entra ID RBAC on an AKS cluster
az aks update \
--name myAKSCluster \
--resource-group MyRG \
--enable-azure-rbac
# Assign a built-in AKS role to an Entra group
az role assignment create \
--role 'Azure Kubernetes Service RBAC Reader' \
--assignee '<Entra-Group-Object-ID>' \
--scope /subscriptions/.../resourceGroups/MyRG/providers/Microsoft.ContainerService/managedClusters/myAKSClusterपॉड-स्तरीय सुरक्षा के लिए नेटवर्क नीतियाँ
नेटवर्क नीतियाँ Kubernetes संसाधन हैं, जो नियंत्रित करती हैं कि कौन-से पॉड एक-दूसरे के साथ संचार कर सकते हैं। डिफ़ॉल्ट रूप से, Cluster के सभी पॉड अन्य सभी पॉड तक पहुँच सकते हैं — नेटवर्क नीतियाँ पॉड स्तर पर फ़ायरवॉल उपलब्ध कराती हैं। AKS पर नीतियाँ लागू करने के लिए Azure नेटवर्क नीति या Calico सक्षम कीजिए। एक सामान्य तरीका डिफ़ॉल्ट-अस्वीकार नीति का उपयोग करना है, जो सभी इंटर-पॉड ट्रैफ़िक को रोकती है; इसके बाद आपके ऐप को आवश्यक विशिष्ट पथों के लिए स्पष्ट अनुमति नीतियाँ बनाई जाती हैं।
# Default deny all ingress to pods in namespace
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-ingress
namespace: production
spec:
podSelector: {} # Matches all pods
policyTypes:
- Ingress
# Allow API pods to receive from frontend pods only
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: api-allow-frontend
spec:
podSelector: {matchLabels: {app: api}}
ingress:
- from:
- podSelector: {matchLabels: {app: frontend}}त्वरित जाँच
इस पाठ में Microsoft Azure Fundamentals (AZ-900) की अवधारणाओं के बारे में अपनी समझ जाँचिए।
पाठ का पुनरावलोकन
इस पाठ में आपने सीखा: AKS एक प्रबंधित Kubernetes सेवा है, जिसमें Microsoft नियंत्रण प्लेन का संचालन करता है; Helm चार्ट बार-बार किए जा सकने वाले परिनियोजन के लिए बहु-संसाधन Kubernetes एप्लिकेशन को पैकेज करते हैं; और Cluster Autoscaler पॉड शेड्यूलिंग की माँग के आधार पर नोड्स को गतिशील रूप से जोड़ता और हटाता है। अब हम Azure Functions ट्रिगर और बाइंडिंग सीखेंगे।
एआई शिक्षक के साथ Cloud & IT Cert Prep सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 150
- पाठ
- 600
अक्सर पूछे जाने वाले प्रश्न
क्या “AKS पर कार्यभार तैनात करना” पाठ निःशुल्क है?
हाँ—“AKS पर कार्यभार तैनात करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cloud & IT Cert Prep पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cloud & IT Cert Prep पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“AKS पर कार्यभार तैनात करना” में मैं क्या सीखूँगा?
AKS क्लस्टर बनाएँ, kubectl और Helm चार्ट का उपयोग करके बहु-कंटेनर एप्लिकेशन तैनात करें और Azure Load Balancer सेवा से उसे बाहरी रूप से उपलब्ध कराएँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cloud & IT Cert Prep का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Cloud & IT Cert Prep शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cloud & IT Cert Prep शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“AKS पर कार्यभार तैनात करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Cloud & IT Cert Prep पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Cloud & IT Cert Prep पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Azure Container Registry
- Azure Container Instances
- Azure के लिए Kubernetes की अवधारणाएँ
- AKS पर कार्यभार तैनात करना