בדיקת עומסי עבודה (workloads) חסרי מצב

בדף הזה מוסבר איך לבדוק עומסי עבודה קיימים ללא מצב (stateless) שפועלים באשכול Kubernetes של מכשיר Google Distributed Cloud (GDC) עם בידוד פיזי. עומסי עבודה בלי שמירת מצב מאפשרים להפעיל את פריסת האפליקציה בלי לאחסן נתונים או את מצב האפליקציה. אתם יכולים להשתמש במסוף GDC או ב-kubectl CLI כדי לראות את עומסי העבודה חסרי הסטטוס, ולעקוב אחרי השימוש במשאבים והתקינות של עומסי העבודה.

הדף הזה מיועד למפתחים בקבוצת מפעילים של אפליקציות, שאחראים לניהול עומסי עבודה של אפליקציות בארגון שלהם.

לפני שמתחילים

כדי להשלים את המשימות שמתוארות במאמר הזה, צריך לבקש את ההרשאות הנדרשות ולהכין את הסביבה.

שליחת בקשה לתפקידי IAM

צריך לבקש מאדמין ה-IAM בארגון להקצות לכם את התפקידים הבאים במרחב השמות של הפרויקט, בהתאם למשימה שרוצים לבצע:

  • צפייה בעומסי עבודה (workload-viewer): צפייה בכל עומסי העבודה שנפרסו באשכול.
  • אדמין של מרחב שמות (namespace-admin): יצירה, מחיקה, עריכה או צפייה בעומסי עבודה במרחב שמות של פרויקט באשכול.

הכנת הסביבה

כדי להריץ פקודות באשכול Kubernetes בשרת פיזי שהוגדר מראש, צריך לוודא שיש לכם את המשאבים הבאים:

  1. מאתרים את שם אשכול Kubernetes או שואלים את מנהל הפלטפורמה מה שם האשכול.

  2. אם אין לכם קובץ kubeconfig, אתם צריכים להיכנס וליצור אותו עבור אשכול Kubernetes.

  3. משתמשים בנתיב 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 שמנוהל על ידי הפריסה.