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

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

תוויות אוטומטיות מ-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 לאכיפה. החלת האילוץ הזה לא מונעת מכם לציין תוויות באופן ידני, ולא מסירה תוויות מגרסאות קיימות.
מידע נוסף על הפעלת אילוצים זמין במאמר שימוש באילוצים בוליאניים במדיניות הארגון.