Skip to content

פקודות kubectl מוסברות

פקודות ה-kubectl המשמשות יום־יום, מקובצות לפי משימה: קריאת האשכול, בחינת workloads, החלת שינויים והחזרתם לאחור, חשיפת שירותים, ניהול צמתים ויצירת אובייקטי תצורה. כל שורה מצמידה לפקודה הרצה מציאותית.

kubectl הוא הידית שלך על אשכול Kubernetes. המודל הוא הצהרתי: בדרך כלל מחילים manifest‏ (apply -f) במקום ליצור דברים באופן פקודתי, ואז קוראים את התוצאה בחזרה (get, describe, logs). הפקודות שלהלן מכסות הפעלה יומיומית; הוסף דגל namespace‏ (-n name) כשאתה לא ב-namespace ברירת המחדל.

טבלת עיון · 59 ערכים
59 of 59 rows
אשכול ו-context
מציג היכן רצים ה-control plane והשירותים המרכזיים.kubectl cluster-info
מציג רשימה של האשכולות וה-namespaces שאפשר לעבור ביניהם.kubectl config get-contexts
עובר ל-context אחר של אשכול או namespace.kubectl config use-context my-prod
קובע את ברירת המחדל של ה-namespace ב-context הנוכחי.kubectl config set-context --current --namespace=staging
משנה שם של context שמור ב-kubeconfig שלך.kubectl config rename-context old-name prod
מציג רשימה של כל סוגי המשאבים שהאשכול מכיר.kubectl api-resources
מדפיס את גרסאות ה-Kubernetes של הלקוח והשרת.kubectl version
מציג את השדות שמשאב תומך בהם, שנקראים מהסכימה של ה-API.kubectl explain pod.spec.containers
בודק אם למשתמש הנוכחי מותר להריץ פעולה מסוימת.kubectl auth can-i delete pods
בחינת workloads
מציג רשימה של פודים ומצבם; הוסף -o wide לצורך node ו-IP.kubectl get pods -A
מציג בקריאה אחת את המשאבים הנפוצים של namespace.kubectl get all
מוסיף עמודות node ו-IP לכל פקודת get.kubectl get pods -o wide
מדפיס משאב כ-manifest ה-YAML המלא שמאחוריו.kubectl get deploy/web -o yaml
מציג רשימה של deployments וכמה replicas מוכנים.kubectl get deployments
מציג רשימה של stateful sets וה-replicas המוכנים שלהם.kubectl get statefulsets
מציג רשימה של jobs של אצווה ו-cron jobs מתוזמנים.kubectl get jobs,cronjobs
מציג אירועים, תוויות ומצב של פוד אחד.kubectl describe pod web-abc
מציג את הקיבולת של node, את התנאים שלו ואת הפודים הרצים עליו.kubectl describe node node-1
מדפיס את הפלט הסטנדרטי של פוד; ‎-f למעקב, ‎--previous לקריסה האחרונה.kubectl logs -f web-abc
מריץ פקודה בתוך פוד רץ.kubectl exec -it web-abc -- sh
CPU וזיכרון חיים לפודים או לצמתים (דורש metrics-server).kubectl top pods
מציג רשימה של אירועים אחרונים כגון pullים כושלים ו-backoffs.kubectl get events -A --sort-by=.lastTimestamp
מציג רשימה של כללי ingress וכתובות ה-load balancer שלהם.kubectl get ingress
מעתיק קבצים בין המכונה שלך לפוד רץ.kubectl cp web-abc:/var/log/app.log ./app.log
חוסם עד שמשאב עומד בתנאי.kubectl wait --for=condition=ready pod -l app=web
מריץ פוד חד-פעמי מ-image, בלי צורך ב-manifest.kubectl run debug --rm -it --image=busybox -- sh
החלה, שינוי קנה מידה ו-rollout
מציג מה apply היה משנה, בלי לשנות דבר.kubectl diff -f deploy.yaml
יוצר או מעדכן משאבים מקובץ manifest.kubectl apply -f deploy.yaml
מחיל manifests ומוחק אובייקטים שיצאו מהם.kubectl apply -f dir/ --prune -l app=web
פותח משאב חי בעורך שלך ומחיל בשמירה.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
מסיר את המשאבים שמוגדרים בקובץ manifest.kubectl delete -f deploy.yaml
משנה את מספר ה-replicas של deployment.kubectl scale deploy/web --replicas=4
עוקב אחר rollout עד שהוא מסתיים או נכשל.kubectl rollout status deploy/web
מציג רשימה של ה-revisions ש-rollout עבר.kubectl rollout history deploy/web
מריץ מחדש כל פוד של deployment, אחד אחד.kubectl rollout restart deploy/web
מחזיר deployment ל-revision הקודמת שלו.kubectl rollout undo deploy/web
שירותים ורשת
מציג רשימה של שירותים עם הסוג וה-IP האשכולי שלהם.kubectl get svc
מציג אילו IPs של פודים מגבים כרגע כל שירות.kubectl get endpoints web
יוצר שירות שעומד בפני קבוצת פודים; ‎--type=NodePort או LoadBalancer מגיע מחוץ לאשכול.kubectl expose deploy/web --port=80
מציג את כתובת ה-load balancer שמאחורי כל ingress (אלפא).kubectl ingress status -A
מציג רשימה של המדיניות שמגבילה תעבורת פודים.kubectl get networkpolicies
מנהר פורט מקומי אל פוד או שירות.kubectl port-forward svc/web 8080:80
צמתים ותחזוקה
מציג רשימה של צמתי האשכול ומצבם.kubectl get nodes -o wide
מסמן node כבלתי ניתן לתזמון (בלי פודים חדשים).kubectl cordon node-1
מסמן node שוב כניתן לתזמון.kubectl uncordon node-1
פונה פודים מ-node ומסמן אותו כבלתי ניתן לתזמון.kubectl drain node-1 --ignore-daemonsets
מוסיף או מסיר taint שדוחה פודים מ-node.kubectl taint node node-1 key=value:NoSchedule
מוחק מיד פוד תקוע, תוך דילוג על כיבוי מסודר.kubectl delete pod web-abc --grace-period=0 --force
אובייקטים ותצורה
יוצר namespace חדש לתיחום משאבים.kubectl create namespace staging
מציג רשימה של namespaces ומצבם.kubectl get namespaces
מאחסן מפתחות או קבצי תצורה כאובייקט אשכול.kubectl create configmap app --from-file=config.yaml
מציג רשימה של config maps ב-namespace.kubectl get configmaps
מאחסן סיסמה או תעודה כ-secret.kubectl create secret generic db --from-literal=password=s3cret
מציג רשימה של secrets ב-namespace.kubectl get secrets
מצמיד או מסיר תווית על משאב.kubectl label pod web-abc tier=backend
מצמיד מטא-נתונים ש-selectors לא יכולים להתאים.kubectl annotate deploy/web release=july