בדף הזה מוסבר איך לבדוק עומסי עבודה קיימים ללא מצב (stateless) שפועלים באשכול Kubernetes של מכשיר Google Distributed Cloud (GDC) עם בידוד פיזי. עומסי עבודה בלי שמירת מצב מאפשרים להפעיל את פריסת האפליקציה בלי לאחסן נתונים או את מצב האפליקציה. אתם יכולים להשתמש במסוף GDC או ב-kubectl CLI כדי לראות את עומסי העבודה חסרי הסטטוס, ולעקוב אחרי השימוש במשאבים והתקינות של עומסי העבודה.
הדף הזה מיועד למפתחים בקבוצת מפעילים של אפליקציות, שאחראים לניהול עומסי עבודה של אפליקציות בארגון שלהם.
לפני שמתחילים
כדי להשלים את המשימות שמתוארות במאמר הזה, צריך לבקש את ההרשאות הנדרשות ולהכין את הסביבה.
שליחת בקשה לתפקידי IAM
צריך לבקש מאדמין ה-IAM בארגון להקצות לכם את התפקידים הבאים במרחב השמות של הפרויקט, בהתאם למשימה שרוצים לבצע:
- צפייה בעומסי עבודה (
workload-viewer): צפייה בכל עומסי העבודה שנפרסו באשכול. - אדמין של מרחב שמות (
namespace-admin): יצירה, מחיקה, עריכה או צפייה בעומסי עבודה במרחב שמות של פרויקט באשכול.
הכנת הסביבה
כדי להריץ פקודות באשכול Kubernetes בשרת פיזי שהוגדר מראש, צריך לוודא שיש לכם את המשאבים הבאים:
מאתרים את שם אשכול Kubernetes או שואלים את מנהל הפלטפורמה מה שם האשכול.
אם אין לכם קובץ kubeconfig, אתם צריכים להיכנס וליצור אותו עבור אשכול Kubernetes.
משתמשים בנתיב kubeconfig של אשכול Kubernetes כדי להחליף את הערך
CLUSTER_KUBECONFIGבהוראות האלה.
הצגת עומסי עבודה של קונטיינרים בפרויקט
מריצים את הפקודה הבאה כדי להציג את כל ה-pods בפרויקט:
kubectl get pods -n PROJECT_NAMESPACE
הפלט אמור להיראות כך:
NAME READY STATUS RESTARTS AGE
nginx-workload-ah-aa-1228 1/1 Running 0 12h
nginx-workload-ah-ab-6784 1/1 Running 0 11h
nginx-workload-ah-ac-0045 1/1 Running 0 12h
בדיקת הפריסה
כדי לבקש מידע מפורט יותר על הרכיבים של Deployment
משאב, מריצים פקודות שמכוונות ישירות לישות שרוצים לבדוק.
אחזור מידע על אובייקט Deployment
כדי לקבל מידע מפורט על האובייקט Deployment, מריצים את הפקודה:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
describe deployment DEPLOYMENT_NAME
מחליפים את מה שכתוב בשדות הבאים:
CLUSTER_KUBECONFIG: קובץ ה-kubeconfig של אשכול Kubernetes שמריץ את הפריסה.
NAMESPACE: מרחב השמות של הפרויקט.
DEPLOYMENT_NAME: השם של אובייקטDeployment.
הצגת ההגדרה בזמן אמת בפורמט YAML
כדי להציג את המניפסט של אובייקט Deployment, מריצים את הפקודה:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
get deployments DEPLOYMENT_NAME -o yaml
הפקודה הזו מציגה את ההגדרה הפעילה של האובייקט Deployment בפורמט YAML.
הצגת רשימה של רצפי מודעות
כדי להציג את רשימת האובייקטים Pod שנוצרו על ידי הפריסה, מריצים את הפקודה:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
get pods -l KEY=VALUE
בפקודה הזו, הדגל -l מציג רשימה של כל האובייקטים Pod עם התווית של זוג הערכים (מפתח-ערך) שצוין.
מחליפים את מה שכתוב בשדות הבאים:
CLUSTER_KUBECONFIG: קובץ ה-kubeconfig של אשכול Kubernetes שמריץ את הפריסה.
NAMESPACE: מרחב השמות של הפרויקט.
KEY: המפתח של צמד המפתח/ערך של התווית שהוגדר בפריסה. לדוגמה, אם השדה.template.metadata.labelsכולל את התוויתapp: myapp, המפתח הואapp.
VALUE: הערך של התווית בצמד מפתח/ערך שהוגדר בפריסה. לדוגמה, אם התוויתapp: myappמוגדרת בשדה.template.metadata.labels, הערך הואmy-app.
לדוגמה, אם תייגתם את האובייקט Deployment בתווית app: my-app, תריצו את הפקודה הבאה כדי לראות אובייקטים מסוג Pod עם התווית הזו:
kubectl --kubeconfig /tmp/kubeconfig.yaml -n my-namespace \
get pods -l app=my-app
קבלת מידע ספציפי על פודים
כדי לקבל מידע על אובייקט ספציפי של Pod, מריצים את הפקודה:
kubectl --kubeconfig CLUSTER_KUBECONFIG -n NAMESPACE \
describe pod POD_NAME
מחליפים את מה שכתוב בשדות הבאים:
CLUSTER_KUBECONFIG: קובץ ה-kubeconfig של אשכול Kubernetes שמריץ את הפריסה.
NAMESPACE: מרחב השמות של הפרויקט.
POD_NAME: השם של ה-Pod שמנוהל על ידי הפריסה.