שימוש בהערות ובתוויות עם Cloud Deploy

אתם יכולים לצרף הערות ותוויות למשאבי Cloud Deploy. הם לא חובה.

במסמך הזה מפורטים המקורות שאליהם אפשר לצרף תוויות והערות, ומוסבר איך אפשר להשתמש בהם ואיפה אפשר לראות אותם.

מידע על הערות ותוויות

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

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

בדומה להערות, תוויות הן צמדי מפתח/ערך. אבל הן צריכות לעמוד במגבלות הבאות:

  • משאב Cloud Deploy יכול להכיל עד 64 תוויות.

  • האורך של המפתחות והערכים צריך להיות עד 128 בייטים.

  • המפתחות והערכים יכולים להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים.

  • המפתחות צריכים להתחיל באות קטנה או בתו בינלאומי.

  • כל התווים צריכים להיות בקידוד UTF-8. אפשר להשתמש בתווים בינלאומיים.

הדגל --labels (לדוגמה, ב-gcloud deploy releases create) יכול לקבל רשימה של צמדי מפתח/ערך:

"name=wrench,mass=1.3kg,count=3"

מידע נוסף מופיע במאמרי העזרה של Cloud Deploy API.

הוספת הערות ותוויות למשאבים של Cloud Deploy

אפשר להוסיף הערות ותוויות למשאבים הבאים של Cloud Deploy:

  • צינורות עיבוד נתונים לפריסה

    בצינורות להפצה, מוסיפים הערות ותוויות לקובץ התצורה של YAML.

apiVersion: deploy.cloud.google.com/v1
  kind: DeliveryPipeline
  metadata:
   name:
   annotations:
     key: "value"
   labels:
     key: "value"
  description:
  serialPipeline:
   stages:
   - targetId:
     profiles: []
   - targetId:
     profiles: []
  • יעדים

    מוסיפים הערות ותוויות ליעדים ב-target configuration YAML.

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

  • גרסאות

    אפשר להוסיף הערות או תוויות, או גם וגם, לגרסת הפצה באמצעות הדגלים --labels ו---annotations בפקודה gcloud deploy releases create. תוויות והערות שמוסיפים לגרסה לא מועברות כתוויות או כהערות להשקות שנובעות ממנה.

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

  • השקות

    כדי להוסיף הערות ותוויות להשקות חדשות, מציינים --labels או --annotations בפקודה gcloud deploy releases promote.

    כדי להוסיף הערות ותוויות לפריסה הראשונה, צריך לציין --initial-rollout-labels או --initial-rollout-annotations בפקודה gcloud deploy releases create.

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

    • יוצרים הערה שמכילה את כתובת ה-URL שמפנה לתוצאות הבדיקה.
    • יוצרים הערה עם מספר כרטיס רלוונטי ממערכת לניהול תהליכי עבודה.

איפה אפשר למצוא את ההערות של משאב?

אפשר לראות את ההערות והתוויות של כל משאב נתמך באמצעות הפקודה describe של המשאב או על ידי צפייה במטא-נתונים של המשאב במסוףGoogle Cloud .

מ-CLI של gcloud

כדי להציג את ההערות והתוויות של משאב משורת הפקודה, משתמשים בפקודה describe על המשאב הזה. בדוגמה הבאה מוצגים הפרטים של יעד:

 $ gcloud deploy targets describe qsprod --delivery-pipeline=my-demo-app-1 \
                                              --region=us-central1 \
                                              --project=quickstart-basic8

הפקודה שלמעלה מחזירה את הפלט הבא:

 Target:
   annotations:
     approver_ticket_queue_url: https://workflows.example.com/deploy_approvals/4985729
   createTime: '2021-10-28T19:33:56.907887878Z'
   description: development cluster
   etag: 5b3bbee48f693cd7
   gke:
     cluster: projects/quickstart-basic8/locations/us-central1/clusters/quickstart-cluster-qsdev
   name: projects/quickstart-basic8/locations/us-central1/targets/qsdev
   uid: 3f3a5f8e7e0648e3bb17898ee531455d
   updateTime: '2021-11-10T16:55:11.502660604Z'

שימו לב שהפלט הזה כולל את ההערה target_name.

במסוף Google Cloud

כדי לראות את ההערות והתוויות של משאב Cloud Deploy שיש לו מטא-נתונים כאלה, אפשר לראות את פרטי המשאב ב Google Cloud מסוף.

לדוגמה, אלה פרטי צינור ההפצה של צינור שכולל הערה:

פרטים על צינור עיבוד נתונים לפריסה במסוף Google Cloud

הנה הפרטים של פריט תוכן:

פרטי הגרסה במסוף Google Cloud

תוויות אוטומטיות מ-Cloud Deploy

כברירת מחדל, Cloud Deploy מוסיף את התוויות הבאות למניפסטים שעברו עיבוד:

  • app.kubernetes.io/managed-by:

    תווית רגילה שמציינת כלי פריסה. הערך הזה תמיד מוגדר כ-google-cloud-deploy כדי לזהות את המקור של עומס העבודה.

  • deploy.cloud.google.com/location:

    המיקום של צינור העברת הנתונים שנפרס, לדוגמה us-central1.

  • deploy.cloud.google.com/project-id:

    מזהה הפרויקט של צינור העברת הנתונים שנפרס.

  • deploy.cloud.google.com/delivery-pipeline-id:

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

  • deploy.cloud.google.com/release-id:

    מזהה המשאב של הגרסה שפרסתם.

  • deploy.cloud.google.com/target-id:

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

דוגמה לשימוש

דוגמה לשימוש בתוויות שמוחלות באופן אוטומטי היא יצירת תרשים ב-Google Cloud Observability שמצטבר מדד של קונטיינר לפי מאפיינים של Cloud Deploy:

fetch k8s_container
| metric 'kubernetes.io/container/cpu/core_usage_time'
| filter metadata.user.c'app.kubernetes.io/managed-by' = "google-cloud-deploy"
| group_by [
    pipeline: metadata.user.c'deploy.cloud.google.com/delivery-pipeline-id',
    target: metadata.user.c'deploy.cloud.google.com/target-id',
    release: metadata.user.c'deploy.cloud.google.com/release-id',],
      sum(val())
| rate 1m

אפשר להשתמש בזה גם עם מדדים מותאמים אישית. לדוגמה, אם PodMonitor מוגדר עם תווית שתואמת ל-app.kubernetes.io/managed-by: google-cloud-deploy. אחר כך תוכלו להשתמש בשאילתה כדי להגדיר תרשים למדדים מותאמים אישית:

fetch k8s_container
| metric workload.googleapis.com/example_requests_total
| filter metadata.user_labels.c'app.kubernetes.io/managed-by' = "google-cloud-deploy"
| group_by [
    pipeline: metadata.user.c'deploy.cloud.google.com/delivery-pipeline-id',
    target: metadata.user.c'deploy.cloud.google.com/target-id',
    release: metadata.user.c'deploy.cloud.google.com/release-id',],
    sum(val())
| rate 1m

השבתת תוויות אוטומטיות

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

כדי למנוע מ-Cloud Deploy להוסיף תוויות באופן אוטומטי למניפסטים שעברו עיבוד, צריך להגדיר את האילוץ clouddeploy.disableServiceLabelGeneration של Organization Policy Service לאכיפה. החלת האילוץ הזה לא מונעת מכם לציין תוויות באופן ידני, ולא מסירה תוויות מגרסאות קיימות.

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