הגדרת מיקרו-שירות

במאמר הזה מוסבר איך ליצור שירותים בהתאמה אישית ושירותים למשאבים מסוימים, כמו GKE ו-Cloud Run.

ב-Cloud Monitoring, ‏ שירות הוא מבנה שאפשר לשייך לו יעדים למדידת רמת השירות (SLO) ומדיניות התראות. חלק מהמשאבים שעבורם אפשר ליצור שירותי Monitoring נקראים גם שירותים, אבל עם משמעות שונה, כמו שירותי GKE או שירותי Cloud Run.

‫Monitoring יכול לזהות שירותים שמבוססים על GKE ו-Cloud Run כמועמדים למעקב. כדי ליצור שירותים בשבילם, מציינים אילו מועמדים רוצים להגדיר כשירותי מעקב. מערכת המעקב יוצרת בשבילכם את התשתית הנדרשת.

אפשר גם להגדיר שירותים מותאמים אישית שרירותיים.

מאתרים או יוצרים שירות

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

  1. נכנסים לדף  SLOs במסוף Google Cloud :

    לדף SLOs

    אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.

  2. בדף Services Overview (סקירה כללית של השירותים), מבצעים אחת מהפעולות הבאות:

    • לוחצים על הגדרת שירות.

    • בחלונית Current status (הסטטוס הנוכחי), לוחצים על הקישור Define service (הגדרת שירות):

      ליצור שירותים מותאמים אישית ושירותים שמזוהים על ידי המשתמש באמצעות **Define service** (הגדרת שירות).

בחלונית הגדרת שירות אפשר:

  • יצירת שירותים מרשימה של שירותים פוטנציאליים.
  • הגדרת שירותים מותאמים אישית.

בקטעים הבאים מפורטות האפשרויות האלה.

יצירת שירותים

‫Cloud Monitoring יכול לזהות שירותים פוטנציאליים מהסוגים הבאים:

  • שירותי Cloud Service Mesh
  • שירותי Istio ב-Google Kubernetes Engine
  • שירותי App Engine
  • מרחבי שמות של GKE
  • שירותי GKE
  • עומסי עבודה ב-GKE
  • שירות Cloud Run

יכול להיות שיש הרבה שירותים פוטנציאליים כאלה, ולכן המעקב לא מניח שאתם רוצים שכולם יטופלו כשירותים עם SLO. כדי לציין אילו מהשירותים הפוטנציאליים צריכים להיחשב כשירותים ב-Monitoring, משתמשים במסוףGoogle Cloud או ב-API.

שימוש במסוף Google Cloud ליצירת שירותים

כדי ליצור שירות באמצעות מסוף Google Cloud :

  1. בדף סקירה כללית של שירותים, לוחצים על הגדרת שירות.

  2. בוחרים באפשרות מועמדים לשירות.

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

    יכול להיות שברשימה יהיו הרבה שירותים מועמדים. אפשר לסנן את הרשימה לפי:

    1. לוחצים על סינון הטבלה. תוצג רשימה של אפשרויות סינון.

    2. בוחרים אחת מהאפשרויות ברשימת המסננים. האפשרות שנבחרה מופיעה בסרגל הסינון.

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

  3. לוחצים על שירות מועמד מתוך רשימת השירותים הפוטנציאליים.

    כשלוחצים על רשומה, השדות הבאים מתמלאים אוטומטית:

    • השם המוצג מוגדר כשם הרשומה ברשימה. אפשר לשנות את הערך הזה.

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

  4. לוחצים על שליחה. כשהשירות נוצר, מוצגת הודעה Success (הצלחה).

שימוש ב-API ליצירת שירות

אפשר גם ליצור שירותים באמצעות SLO API, שהוא חלק מ-Cloud Monitoring API.

כדי ליצור שירות באופן פרוגרמטי, שולחים אובייקט הגדרה כמו אחד מהאובייקטים הבאים אל ה-method‏ services.create:

מרחב שמות של GKE

משתמשים במבנה GkeNamespace, לדוגמה:

{
  "displayName": "test-kube-namespace",
  "gkeNamespace": {
    "location": "us-central1-c",
    "clusterName": "cluster-1",
    "namespaceName": "test-kube-namespace"
  }
}

שירות GKE

משתמשים במבנה GkeService, לדוגמה:

{
  "displayName": "test-kube-service",
  "gkeService": {
    "location": "us-central1-c",
    "clusterName": "cluster-1",
    "namespaceName": "kube-system",
    "serviceName": "test-kube-service"
  }
}

עומס עבודה (workload) של GKE

משתמשים במבנה GkeWorkload, לדוגמה:

{
  "displayName": "frontend-a",
  "gkeWorkload": {
    "location": "us-central1-b",
    "clusterName": "cluster-2",
    "namespaceName": "default",
    "topLevelControllerType": "Deployment",
    "topLevelControllerName": "frontend-a"
  }
}

Cloud Run

משתמשים במבנה CloudRun, לדוגמה:

{
  "displayName": "test-cloudrun-service",
  "cloudRun": {
    "serviceName": "test-cloudrun-service",
    "location": "us-central1"
  }
}

Cloud Service Mesh

משתמשים במבנה MeshIstio, לדוגמה:

{
  "displayName": "test-mesh-istio-service",
  "meshIstio": {
    "meshUid": "mesh-identifier"
    "serviceName": "test-mesh-istio-service",
    "serviceNamespace": "default"
  }
}

‫Istio ב-GKE

משתמשים במבנה clusterIstio, לדוגמה:

{
  "displayName": "test-cluster-istio-service",
  "clusterIstio": {
    "serviceName": "test-cloud-service",
    "clusterName": "cluster-2",
    "serviceNamespace": "default",
    "location": "us-central1"
  }
}

App Engine

משתמשים במבנה AppEngine, לדוגמה:

{
  "displayName": "test-mesh-istio-service",
  "appEngine": {
    ""moduleId": "id-of-the-service"
  }
}

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

יצירת שירות בהתאמה אישית

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

שימוש ב- Google Cloud console כדי ליצור שירות בהתאמה אישית

כדי להגדיר שירות בהתאמה אישית באמצעות מסוף Google Cloud :

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

  2. בוחרים באפשרות שירות בהתאמה אישית.

    משתמשים בכרטיסייה **שירות בהתאמה אישית** כדי להגדיר שירותים שרירותיים.

  3. מזינים שם מוצג לשירות המותאם אישית.

  4. לוחצים על שליחה. כשהשירות נוצר, מוצגת הודעה Success (הצלחה).

שימוש ב-API ליצירת שירות בהתאמה אישית

כדי להגדיר שירות בהתאמה אישית באמצעות SLO API, שולחים אובייקט הגדרה Custom כמו זה שבהמשך אל השיטה services.create:

{
  "displayName": "hello-world-service",
  "custom": {}
}

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

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

אחרי שמזהים או יוצרים שירות חדש, אפשר לבצע את הפעולות הבאות:

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