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

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

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

  • הקצאת עלויות ופירוט החיובים.
  • זיהוי משאבים שמשמשים צוותים או מרכזי עלות ספציפיים.
  • להבחין בין סביבות פריסה (ייצור, Staging,‏ QA או בדיקה).
  • מזהים את הבעלים ואת תוויות המצב.
  • סינון יומנים ב-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 מתממשק עם ממשקי API שלGoogle Cloud , כמו ספריות הלקוח ב-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. לוחצים על תוויות כדי להציג את חלונית התוויות.

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

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

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

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

    כברירת מחדל, הפקודה 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"
    }
  }
}

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

הוספת התוויות בקטע 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. לוחצים על תוויות כדי להציג את חלונית התוויות.

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

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

gcloud

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

gcloud run services update SERVICE --clear-labels

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

gcloud run services update SERVICE --remove-labels LABEL

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

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