Skip to content

kubectl कमांड्स समझाए गए

रोज़ काम आने वाली kubectl कमांड्स, काम के हिसाब से समूहबद्ध: क्लस्टर पढ़ना, वर्कलोड जाँचना, बदलाव लागू करना और वापस लेना, सर्विस उजागर करना, नोड प्रबंधित करना और कॉन्फ़िग ऑब्जेक्ट बनाना। हर पंक्ति कमांड को एक यथार्थ invocation के साथ जोड़ती है।

kubectl आपके Kubernetes क्लस्टर को संभालने का साधन है। मॉडल declarative है: आप प्रायः एक मैनिफ़ेस्ट apply करते हैं (apply -f) बजाय इसके कि चीज़ें imperative तरीके से बनाएँ, फिर परिणाम वापस पढ़ते हैं (get, describe, logs)। नीचे दी गई कमांड्स रोज़मर्रा के संचालन को कवर करती हैं; जब आप डिफ़ॉल्ट namespace में नहीं हों तो namespace फ़्लैग (-n name) साथ दें।

संदर्भ तालिका · 59 प्रविष्टियाँ
59 of 59 rows
क्लस्टर और context
दिखाता है कि control plane और मुख्य सर्विसेज़ कहाँ चलती हैं।kubectl cluster-info
उन क्लस्टर और namespace की सूची देता है जिनके बीच आप स्विच कर सकते हैं।kubectl config get-contexts
किसी दूसरे क्लस्टर या namespace context पर स्विच करता है।kubectl config use-context my-prod
मौजूदा context का डिफ़ॉल्ट namespace सेट करता है।kubectl config set-context --current --namespace=staging
आपके kubeconfig में सहेजे गए context का नाम बदलता है।kubectl config rename-context old-name prod
जितने भी रिसोर्स टाइप क्लस्टर जानता है, सबकी सूची देता है।kubectl api-resources
क्लाइंट और सर्वर के Kubernetes वर्शन छापता है।kubectl version
API schema से पढ़कर दिखाता है कि एक रिसोर्स कौन-कौन से फ़ील्ड समर्थन करता है।kubectl explain pod.spec.containers
जाँचता है कि मौजूदा यूज़र किसी दी गई क्रिया को चलाने का अधिकारी है या नहीं।kubectl auth can-i delete pods
वर्कलोड की जाँच
पॉड की सूची और उनकी स्थिति देता है; node और IP के लिए -o wide जोड़ें।kubectl get pods -A
एक ही कॉल में namespace के सामान्य रिसोर्सेज़ की सूची देता है।kubectl get all
किसी भी get कमांड में node और IP कॉलम जोड़ता है।kubectl get pods -o wide
किसी रिसोर्स को उसके पीछे के पूर्ण YAML मैनिफ़ेस्ट के रूप में छापता है।kubectl get deploy/web -o yaml
deployments की सूची और कितने replica तैयार हैं, बताता है।kubectl get deployments
stateful sets की सूची और उनके तैयार replica देता है।kubectl get statefulsets
batch job और शेड्यूल किए गए cron job की सूची देता है।kubectl get jobs,cronjobs
एक pod के लिए इवेंट, लेबल और स्थिति दिखाता है।kubectl describe pod web-abc
एक node की क्षमता, conditions और चलते पॉड दिखाता है।kubectl describe node node-1
pod का stdout छापता है; follow करने के लिए -f, आख़िरी crash के लिए --previous।kubectl logs -f web-abc
चलते हुए pod के अंदर एक कमांड चलाता है।kubectl exec -it web-abc -- sh
पॉड या नोड के लिए लाइव CPU और मेमोरी (metrics-server चाहिए)।kubectl top pods
हाल के इवेंट जैसे फेल हुए pull और backoff की सूची देता है।kubectl get events -A --sort-by=.lastTimestamp
ingress नियमों और उनके load balancer पतों की सूची देता है।kubectl get ingress
आपकी मशीन और चलते pod के बीच फ़ाइलें कॉपी करता है।kubectl cp web-abc:/var/log/app.log ./app.log
तब तक रुकता है जब तक कोई रिसोर्स किसी condition को पूरा न कर ले।kubectl wait --for=condition=ready pod -l app=web
किसी image से एक throwaway pod चालू करता है, मैनिफ़ेस्ट की ज़रूरत नहीं।kubectl run debug --rm -it --image=busybox -- sh
Apply, स्केल, rollout
दिखाता है कि apply क्या बदलता, बिना कुछ बदले।kubectl diff -f deploy.yaml
मैनिफ़ेस्ट फ़ाइल से रिसोर्स बनाता या अपडेट करता है।kubectl apply -f deploy.yaml
मैनिफ़ेस्ट apply करता है और जो ऑब्जेक्ट उनसे बाहर हो गए उन्हें मिटाता है।kubectl apply -f dir/ --prune -l app=web
लाइव रिसोर्स को आपके एडिटर में खोलता है और सेव करते ही apply करता है।kubectl edit deploy/web
लाइव रिसोर्स पर कुछ फ़ील्ड बदलता है।kubectl patch deploy/web --patch-file fix.json
एक deployment के कंटेनर को नई image की ओर इशारा करता है।kubectl set image deploy/web web=nginx:1.27
किसी ऑब्जेक्ट को बदलता है, ज़रूरत पड़ने पर मिटाकर दोबारा बनाता है।kubectl replace --force -f deploy.yaml
मैनिफ़ेस्ट फ़ाइल में घोषित रिसोर्स हटाता है।kubectl delete -f deploy.yaml
किसी deployment की replica संख्या बदलता है।kubectl scale deploy/web --replicas=4
rollout के पूरा होने या फेल होने तक देखता है।kubectl rollout status deploy/web
जितने revision से एक rollout गुज़रा, उनकी सूची देता है।kubectl rollout history deploy/web
किसी deployment का हर pod एक-एक करके रीस्टार्ट करता है।kubectl rollout restart deploy/web
किसी deployment को उसके पिछले revision पर वापस लाता है।kubectl rollout undo deploy/web
सर्विस और नेटवर्किंग
सर्विसेज़ की सूची उनके टाइप और क्लस्टर IP के साथ देता है।kubectl get svc
दिखाता है कि इस समय कौन-कौन से pod IP हर सर्विस को सहारा दे रहे हैं।kubectl get endpoints web
ऐसी सर्विस बनाता है जो पॉड के एक समूह के आगे खड़ी हो; --type=NodePort या LoadBalancer क्लस्टर के बाहर पहुँचता है।kubectl expose deploy/web --port=80
हर ingress के पीछे का load balancer पता दिखाता है (alpha)।kubectl ingress status -A
उन नीतियों की सूची देता है जो pod ट्रैफ़िक सीमित करती हैं।kubectl get networkpolicies
किसी लोकल पोर्ट को pod या सर्विस तक टनल करता है।kubectl port-forward svc/web 8080:80
नोड और रखरखाव
क्लस्टर के नोड और उनकी स्थिति की सूची देता है।kubectl get nodes -o wide
किसी node को unschedulable चिह्नित करता है (कोई नया pod नहीं)।kubectl cordon node-1
node को दोबारा schedulable चिह्नित करता है।kubectl uncordon node-1
किसी node से pod खदेड़ता है और उसे unschedulable चिह्नित करता है।kubectl drain node-1 --ignore-daemonsets
ऐसा taint जोड़ता या हटाता है जो pod को node से दूर रखता है।kubectl taint node node-1 key=value:NoSchedule
फँसे हुए pod को तुरंत मिटाता है, graceful shutdown छोड़कर।kubectl delete pod web-abc --grace-period=0 --force
ऑब्जेक्ट और कॉन्फ़िग
रिसोर्स को सीमित करने के लिए नया namespace बनाता है।kubectl create namespace staging
namespace की सूची और उनकी स्थिति देता है।kubectl get namespaces
कॉन्फ़िग कीज़ या फ़ाइलों को क्लस्टर ऑब्जेक्ट के रूप में सहेजता है।kubectl create configmap app --from-file=config.yaml
namespace में मौजूद config map की सूची देता है।kubectl get configmaps
पासवर्ड या सर्टिफ़िकेट को secret के रूप में सहेजता है।kubectl create secret generic db --from-literal=password=s3cret
namespace में मौजूद secret की सूची देता है।kubectl get secrets
किसी रिसोर्स पर लेबल जोड़ता या हटाता है।kubectl label pod web-abc tier=backend
ऐसा मेटाडेटा जोड़ता है जिसे selector मैच नहीं कर सकते।kubectl annotate deploy/web release=july