הגדרת תוויות לשירותים

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

שימושים אפשריים:

  • הקצאת עלויות ופירוט החיובים.
  • זיהוי משאבים שבהם נעשה שימוש על ידי צוותים או מרכזי עלות ספציפיים.
  • להבחין בין סביבות פריסה (ייצור, Staging, בקרת איכות או בדיקה).
  • זיהוי בעלים ותוויות מצב.
  • סינון יומנים ב-Logging.

כללי שימוש בתוויות

הכלל הבא חל על השימוש בתוויות שהוגדרו בשירות Cloud Run:

אפשר להשתמש ב-Cloud Run רק בתוויות תקינות Google Cloud .

תוויות לנתוני חיוב ולרישום ביומן

החיוב ב-Cloud ו-Cloud Logging מקבלים רק תוויות שמצוינות במאפיין spec.template.metadata.labels ב-YAML, או בקטע template ב-Terraform. אם מגדירים תוויות באמצעות מסוףGoogle Cloud או Google Cloud CLI, ‏ Cloud Run מוסיף את התוויות גם למאפיינים metadata.labels וגם למאפיינים spec.template.metadata.labels.

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות להגדרה ולפריסה של שירותי Cloud Run, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

אם אתם פורסים שירות או פונקציה מקוד מקור, אתם צריכים גם לקבל תפקידים נוספים בפרויקט ובחשבון השירות של Cloud Build.

רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם שירות Cloud Run שלכם מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.

הגדרה או שינוי של תוויות

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

תוויות שהגדרתם בעבר לפונקציות Cloud Run באמצעות פקודות gcloud functions או Cloud Functions v2 API מועברות ל-Cloud Run כשפורסים את הפונקציות ב-Cloud Run.

אפשר להגדיר או לשנות תוויות באמצעות מסוף Google Cloud , Google Cloud CLI או קובץ YAML כשפורסים עדכון חדש.

המסוף

  1. נכנסים לדף Services של Cloud Run במסוף Google Cloud :

    כניסה ל-Cloud Run

  2. מסמנים את תיבת הסימון שמימין לשירות שרוצים להגדיר לו את התווית.

  3. מוודאים שהאפשרות Info Panel (חלונית המידע) מופעלת בצד שמאל (Show Info Panel).

  4. לוחצים על תוויות כדי להציג את חלונית התוויות.

    הגדרת תווית

  5. כדי לערוך ערך קיים של מפתח תווית, מאתרים את התווית ומשנים את הערך.

  6. כדי להגדיר תווית חדשה בשירות, לוחצים על Add Label (הוספת תווית) ומזינים את המפתח ואת הערך.

  7. לוחצים על שמירה

gcloud

כדי לעדכן תוויות של שירות, משתמשים בפקודה:

gcloud run services update SERVICE --update-labels KEY=VALUE

כדי לעדכן יותר מתווית אחת, צריך לספק רשימה של צמדי מפתח/ערך שמופרדים בפסיקים. שימו לב שהפקודה update-labels מגדירה ערך חדש למפתח התווית אם התווית כבר קיימת, אחרת היא יוצרת תווית חדשה.

מחליפים את מה שכתוב בשדות הבאים:

  • SERVICE: השם של שירות Cloud Run
  • KEY: השם של מפתח התווית
  • VALUE: הערך של המפתח

אפשר גם להגדיר תוויות במהלך הפריסה:

gcloud run deploy SERVICE --image IMAGE --labels KEY=VALUE

כדי ליצור יותר מתווית אחת במהלך הפריסה, צריך לספק רשימה של צמדי מפתח/ערך שמופרדים בפסיקים.

YAML

  1. אם אתם יוצרים שירות חדש, דלגו על השלב הזה. אם אתם מעדכנים שירות קיים, אתם צריכים להוריד את הגדרות ה-YAML שלו:

    gcloud run services describe SERVICE --format export > service.yaml
  2. מעדכנים את המאפיינים labels בשני מקומות:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      labels:
        LABEL: VALUE
    spec:
      template:
        metadata:
          labels:
            LABEL: VALUE
          name: REVISION

    מחליפים את מה שכתוב בשדות הבאים:

    • SERVICE: השם של שירות Cloud Run
    • LABEL: השם של התווית
    • VALUE: הערך הנדרש
    • REVISION עם שם חדש לגרסה או למחוק אותה (אם היא קיימת). אם מספקים שם חדש לגרסה, חובה שהוא יעמוד בקריטריונים הבאים:
      • מתחיל ב-SERVICE-
      • מכיל רק אותיות קטנות, מספרים ו-
      • לא מסתיים ב--
      • לא חורג מ-63 תווים

    metadata.labels מגדיר תוויות באובייקט השירות, ו-spec.template.metadata.labels מגדיר תוויות בגרסה שנוצרה. ‫Cloud Run מעביר רק את התוויות שמוגדרות בגרסה ל-Cloud Logging ולחיוב ב-Cloud.

  3. יוצרים או מעדכנים את השירות באמצעות הפקודה הבאה:

    gcloud run services replace service.yaml

Terraform

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

מוסיפים את השורות הבאות למשאב google_cloud_run_v2_service בתצורת Terraform:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-labels"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
    # Labels
    labels = {
      foo : "bar"
      baz : "quux"
    }
  }
}

קטע הקוד שלמעלה מוסיף שתי תוויות, foo (שהערך שלה הוא bar) ו-baz (שהערך שלה הוא quux), למופע של Cloud Run.

הוספת התוויות בקטע template מגדירה את התוויות לגרסה: רק תוויות שהוגדרו לגרסה מועברות אל Cloud Logging ואל החיוב ב-Cloud. אם מוסיפים את התוויות למיקום אחר ולא מתחת ל-template, התווית מוגדרת לשירות ולא לגרסה.

מחליפים את מה שכתוב בשדות הבאים:

  • name: השם של השירות.
  • location: המיקום שבו נעשה שימוש בשירות.
  • image: קובץ האימג' של הקונטיינר.
  • foo ו-baz: שמות התוויות שלכם.
  • bar ו-quux: ערכי התוויות שלכם.

הצגת רשימת השירותים לפי תווית

אפשר להציג רשימה של שירותים לפי תווית באמצעות מסנן Google Cloud CLI:

  gcloud run services list --filter metadata.labels.LABEL=VALUE
  

מחליפים את מה שכתוב בשדות הבאים:

  • LABEL: השם של התווית
  • VALUE: הערך שרוצים לכלול ברשימה המסוננת

מחיקת תווית בשירות

אפשר להשתמש במסוף או בשורת הפקודה כדי למחוק תוויות בשירות.

המסוף

  1. נכנסים לדף Services של Cloud Run במסוף Google Cloud :

    כניסה ל-Cloud Run

  2. מסמנים את התיבה שמימין לשירות שממנו רוצים למחוק את התווית.

  3. מוודאים שהאפשרות Info Panel (חלונית המידע) מופעלת בצד שמאל (Show Info Panel).

  4. לוחצים על תוויות כדי להציג את חלונית התוויות.

  5. מאתרים את התווית שרוצים למחוק.

  6. מעבירים את הסמן שמאלה לתיבת הטקסט Value של התווית כדי להציג את סמל הפח, ולוחצים על סמל הפח.

  7. לוחצים על Save.

gcloud

כדי לנקות את כל התוויות משירות:

gcloud run services update SERVICE --clear-labels

כדי למחוק תוויות ספציפיות משירות, צריך לספק רשימה של מפתחות מופרדים בפסיקים:

gcloud run services update SERVICE --remove-labels LABEL

מחליפים את מה שכתוב בשדות הבאים:

  • SERVICE: השם של שירות Cloud Run
  • LABEL: השם של התווית