תוויות הן דרך קלה לארגן פריסות שקשורות זו לזו. לדוגמה, נהוג לתת תווית לפריסות שמיועדות לייצור, לבדיקה או לפיתוח בנפרד, כדי שתוכלו לחפש בקלות פריסות ששייכות לכל שלב כשצריך.
מהן תוויות?
תווית היא צמד מפתח/ערך שאפשר להקצות ל Google Cloud פריסות. הם עוזרים לכם לארגן את המשאבים האלה ולנהל את העלויות בקנה מידה נרחב, ברמת הפירוט שאתם צריכים. אפשר לצרף תוויות לכל משאב כדי לסנן את המשאבים לפי תוויות. המידע על התוויות מועבר למערכת החיוב, כך שתוכלו לפרט את החיובים לפי תוויות. בעזרת דוחות החיוב המובנים, אפשר לסנן ולקבץ את העלויות לפי תוויות משאבים. אפשר גם להשתמש בתוויות כדי להריץ שאילתות על ייצוא נתוני חיוב.
הדרישות לגבי תוויות
התוויות שמוחלות על משאב צריכות לעמוד בדרישות הבאות:
- אפשר להוסיף עד 64 תוויות לכל משאב.
- כל תווית צריכה להיות צמד מפתח/ערך.
- האורך המינימלי של המפתחות הוא תו אחד, והאורך המקסימלי הוא 63 תווים. המפתחות לא יכולים להיות ריקים. הערכים יכולים להיות ריקים, והאורך המקסימלי שלהם הוא 63 תווים.
- המפתחות והערכים יכולים להכיל רק אותיות קטנות, ספרות, קווים תחתונים ומקפים. כל התווים צריכים להיות בקידוד UTF-8, ומותר להשתמש בתווים בינלאומיים. המפתחות צריכים להתחיל באות קטנה או בתו בינלאומי.
- החלק של המפתח בתווית חייב להיות ייחודי בתוך משאב יחיד. עם זאת, אפשר להשתמש באותו מפתח עם כמה משאבים.
המגבלות האלה חלות על המפתח והערך של כל תווית, ועל המשאבים Google Cloud הבודדים שיש להם תוויות. אין הגבלה על מספר התוויות שאפשר להחיל על כל המשאבים בפרויקט.
שימושים נפוצים בתוויות
ריכזנו כאן כמה תרחישי שימוש נפוצים בתוויות:
תוויות של צוותים או מרכזי עלויות: אפשר להוסיף תוויות שמבוססות על צוות או על מרכז עלויות כדי להבחין בין פריסות שנמצאות בבעלות של צוותים שונים (לדוגמה,
team:researchו-team:analytics). אפשר להשתמש בסוג הזה של תוויות לניהול חשבונות או לתקצוב.תוויות רכיבים: לדוגמה,
component:redis,component:frontend,component:ingestו-component:dashboard.תוויות של סביבה או שלב: לדוגמה,
environment:productionו-environment:test.תוויות של מדינות: לדוגמה,
state:active,state:readytodeleteו-state:archive.תוויות בעלות: משמשות לזיהוי הצוותים שאחראים על הפעולות, לדוגמה:
team:shopping-cart.
אנחנו לא ממליצים ליצור מספר גדול של תוויות ייחודיות, למשל לסימון חותמות זמן או ערכים נפרדים לכל קריאה ל-API. הבעיה בגישה הזו היא שאם הערכים משתנים לעיתים קרובות או אם יש מפתחות שמבלגנים את הקטלוג, קשה לסנן את המשאבים ולדווח עליהם בצורה יעילה.
תוויות ותגים
אפשר להשתמש בתוויות כאנוטציות שאפשר להריץ עליהן שאילתות לגבי משאבים, אבל אי אפשר להשתמש בהן כדי להגדיר תנאים במדיניות. תגים מאפשרים להגדיר תנאי לאישור או לדחייה של כללי מדיניות אם תג ספציפי מצורף או לא מצורף למשאב, וכך מספקים שליטה פרטנית בכללי המדיניות. מידע נוסף מופיע במאמר סקירה כללית על תגים.
יצירת פריסה עם תוויות
כשיוצרים פריסה, אפשר להוסיף תוויות על ידי ציון צמד אחד או יותר של מפתח/ערך כתוויות כשיוצרים את הפריסה. אם יש לכם פריסה קיימת, אתם יכולים לעדכן את הפריסה כדי להוסיף תוויות חדשות או לשנות תוויות קיימות.
כדי ליצור פריסה עם תוויות, צריך להשתמש ב-CLI של gcloud או ב-API.
gcloud
ב-gcloud, מוסיפים תוויות לפריסה באמצעות האפשרות --labels ואחריה רשימה מופרדת בפסיקים של צמדי מפתח/ערך. לדוגמה, הפקודה הבאה מוסיפה לפריסה שתי תוויות, environment=production ו-storage=media:
gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
--labels environment=production,storage=media
כדי לראות את התוויות שחלות על הפריסה, מקבלים תיאור של הפריסה:
gcloud deployment-manager deployments describe example-deployment
---
fingerprint: 0p03t0z31PQLOrGH8KdhWQ==
id: '2204841443843636456'
insertTime: '2017-04-18T09:42:47.323-07:00'
labels:
- key: environment
value: production
- key: storage
value: media
manifest: manifest-1492533767362
name: example-deployment
operation:
endTime: '2017-04-18T09:43:04.581-07:00'
name: operation-1492533767010-54d7398ff76d1-7930b926-f64e72ae
operationType: insert
progress: 100
startTime: '2017-04-18T09:42:48.034-07:00'
status: DONE
user:user@example.com
API
ב-API, פועלים לפי ההוראות כדי ליצור פריסה ולכלול את מאפיין labels החדש בגוף הבקשה. לדוגמה:
{
"name": "example-deployment",
"target": {
"config": {
"content": "..."
},
}
"labels": [
{
"key": "environment",
"value": "production"
},
{
"key": "storage",
"value": "media"
}
]
}
מסיר את התוויות
המסוף
נכנסים לדף Deployments במסוף Google Cloud .
אם מוצגת בקשה לעשות זאת, בוחרים פרויקט ולוחצים על המשך.
מסמנים את התיבה לצד הפריסה שמהם רוצים להסיר תוויות. תופיע חלונית צדדית.
לוחצים על הסמל X לצד כל תווית שרוצים להסיר.
שומרים את השינויים.
gcloud
ב-gcloud, מסירים תוויות באמצעות הפקודה deployments update והדגל --remove-labels, ואחריהם רשימה מופרדת בפסיקים של מפתחות התוויות להסרה.
לדוגמה, הפקודה הבאה מסירה תווית עם המפתח environment:
gcloud deployment-manager deployments update example-deployment --remove-labels environment
API
ב-API, פועלים לפי ההוראות לעדכון הפריסה וכוללים עדכון לפריסה שלא מכיל את המאפיין labels בגוף הבקשה, וכך למעשה מסירים את התוויות.
הוספה או עדכון של תוויות
אפשר להוסיף תוויות חדשות או לעדכן תוויות בפריסות קיימות.
המסוף
נכנסים לדף Deployments במסוף Google Cloud .
אם מוצגת בקשה לעשות זאת, בוחרים פרויקט ולוחצים על המשך.
מסמנים את התיבה לצד הפריסה שרוצים לעדכן ממנה את התוויות. תיפתח חלונית צדדית.
כדי לשנות את ערכי התוויות, מעדכנים את הערכים המתאימים של התוויות. אם רוצים לשנות את מפתח התווית, צריך למחוק את התווית ולהוסיף אותה שוב עם המפתח החדש.
שומרים את השינויים.
gcloud
ב-gcloud, מעדכנים או מוסיפים תוויות חדשות באמצעות הפקודה deployments update עם הדגל --update-labels, ואחריו רשימה מופרדת בפסיקים של התוויות המעודכנות:
לדוגמה, הפקודה הבאה מעדכנת את התווית environment:
gcloud deployment-manager deployments update example-deployment --update-labels environment=production
API
ב-API, פועלים לפי ההוראות לעדכון הפריסה. בגוף הבקשה, משמיטים את המאפיין labels, וכך מסירים את התוויות מהפריסה.
הוספת תוויות במהלך תצוגות מקדימות של פריסה
לפני שיוצרים פריסה, אפשר לצפות בתצוגה מקדימה של הפריסה. במסגרת התצוגה המקדימה, אפשר להקצות תוויות לפריסה שמוצגת בתצוגה המקדימה. לדוגמה:
gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
--labels environment=production --preview
כדי לשנות תוויות במהלך התצוגה המקדימה, צריך לעדכן את התצוגה המקדימה עם התוויות החדשות. מידע נוסף על תצוגות מקדימות זמין במאמר בנושא תצוגה מקדימה של הגדרה.
סינון חיפושים באמצעות תוויות
אתם יכולים לחפש את המשאבים שלכם ולסנן את התוצאות לפי תוויות.
המסוף
נכנסים לדף Deployments במסוף Google Cloud .
אם מוצגת בקשה לעשות זאת, בוחרים פרויקט ולוחצים על המשך.
בסרגל החיפוש, מתחילים להקליד
labels.וסרגל החיפוש יציג באופן אוטומטי רשימה של תוויות שאפשר לסנן לפיהן.
gcloud
ב-gcloud, שולחים בקשת list ומשתמשים בדגל --filter.
כדי לסנן לפי תוויות, משתמשים בתחביר labels.[KEY]=[VALUE]. לדוגמה, אם רוצים לסנן לפי תווית עם environment כמפתח ו-production כערך, אפשר להריץ את הפקודה הבאה:
gcloud deployment-manager deployments list --filter labels.environment=production
לתיעוד מלא על תחביר המסננים ב-CLI של gcloud, אפשר לעיין בתיעוד בנושא gcloud topic filters.
API
ב-API, שולחים בקשת רשימה עם פרמטר שאילתה filter בקידוד כתובת URL.
לדוגמה, כדי לסנן לפי מפתח התווית environment ששווה לערך production, שולחים את הבקשה GET הבאה:
GET https://www.googleapis.com/deploymentmanager/v2/deployments/list?filter=labels.environment+eq+production
מידע נוסף זמין במאמרי העזרה של filter.