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

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

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

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

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

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

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

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

כדי לקבל את ההרשאות שדרושות להגדרה ולפריסה של שירותי 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. במסוף Google Cloud , נכנסים לדף Services של Cloud Run:

    כניסה ל-Cloud Run

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

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

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

    הגדרת תווית

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

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

  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.label מגדיר תוויות בגרסה שנוצרה. רק תוויות שהוגדרו בגרסה מועברות ליומנים ולחיוב.

  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 מגדירה את התוויות לגרסה: רק התוויות שהוגדרו לגרסה מועברות ליומנים ולחיוב. אם מוסיפים את התוויות למיקום אחר ולא מתחת ל-template, התווית מוגדרת לשירות ולא לגרסה.

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

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

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

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

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

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

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

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

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

המסוף

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

    כניסה ל-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: השם של התווית