שירות רשמי (קנוני)

הערה: שירותים קנוניים נתמכים באופן אוטומטי ב-Cloud Service Mesh מגרסה 1.6.8 ואילך.

שירותים קנוניים ב-Cloud Service Mesh מאפשרים לקבץ עומסי עבודה מבוזרים של ייצור לשירות לוגי יחיד לצורך ניהול ומעקב מאוחדים. אתם יכולים לצפות בטלמטריה משולבת, להגדיר יעדים ברמת השירות ולעקוב אחרי עדכונים בכמה אשכולות, פלטפורמות והגדרות.

מהו שירות רשמי (קנוני)?

ב-Cloud Service Mesh 1.6.8 נוספה תמיכה ב-Canonical Services, מודל מושגי וארכיטקטוני לייצוג עומסי העבודה שלכם בסביבת הייצור כשירות יחיד שקל יותר לצפות בו ולנהל אותו. עומסי העבודה האלה יכולים להתפרס על פני כמה אשכולות, פלטפורמות שונות של קצה עורפי וסכימות והגדרות שונות.

למשתמשי Kubernetes: Canonical Service דומה בערך למושג 'אפליקציה' ב-Kubernetes ול-CRD של האפליקציה.

למשתמשי Serverless: שירות קנוני דומה מאוד למושגים של שירות App Engine ושל שירות Cloud Run. ההבדל היחיד הוא ששירותי Google Serverless הם אזוריים במהותם, בעוד ששירותי Canonical הם הפשטה גלובלית או רב-אזורית.

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

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

שירותים קנוניים קיימים ברשת אחת, וב-Cloud Service Mesh זה אומר שהם גם ייחודיים בצי וב Google Cloudפרויקט (שניהם זהים לרשת).

עומס עבודה נתון יכול להיות חלק משירות קנוני אחד בלבד.

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

  • שמות מארחים וכתובות IP
  • רשתות
  • מדיניות אבטחה ורשת
  • ניתוב ואיזון עומסים
  • מכונות וירטואליות וקובצי אימג' של קונטיינרים
  • תשתית פיזית או וירטואלית
  • אזורים גיאוגרפיים
  • מערכת CI/CD
  • קוד מקור
  • טלמטריה
  • יעדים למדידת רמת השירות (SLO) והתראות

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

דרישות ומגבלות לגבי שירותים קנוניים

שירותים קנוניים זמינים רק ב-Cloud Service Mesh בגרסה 1.6.8 ומעלה.

כל שירות קנוניקי קיים בתוך מרחב שמות יחיד של Kubernetes/Istio, ולא יכול לחצות את הגבולות של מרחב השמות.

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

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

לכן, הזהות הייחודית של שירות קנוני נקבעת לפי:

mesh id + namespace + canonical name.

גרסאות קודמות

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

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

שימו לב שאפשר להפעיל כמה גרסאות בו-זמנית. הפעלת כמה גרסאות בו-זמנית משמשת בדרך כלל למטרות הבאות:

  • השקה מדורגת של קובץ בינארי חדש, הגדרה חדשה או שניהם בכל המופעים של השירות. במקרה כזה, גם הגרסה הישנה וגם הגרסה החדשה פעילות במהלך המעבר.
  • "בדיקת A/B" או "ניסוי פעיל", שבהם מוצגות שתי גרסאות שונות של השירות לקבוצות משנה של צדדים מתקשרים במורד הזרם, כדי לבדוק את ההשפעה של שינוי.

המאמרים הבאים