מארח וירטואלי חסר קבוצת סביבות

תיאור הבעיה

השגיאה ApigeeIssue עם Reason AIS_VIRTUALHOST_MISSING_ENVGROUP מוצגת כשמציגים משאבים במרחב השמות apigee.

הודעות שגיאה

אחרי שמריצים את kubectl -n apigee get apigeeissues, מוצגת השגיאה הבאה:

NAME                     SEVERITY   REASON                             DOCUMENTATION                                                                                  AGE
vhost-missing-eg-my-eg   ERROR      AIS_VIRTUALHOST_MISSING_ENVGROUP   https://cloud.google.com/apigee/docs/api-platform/troubleshoot/playbooks/vh-missing-env-group   5h18m

הגורם: חסרה קבוצת סביבה ב-Virtualhost

אחד מהמאפיינים virtualhosts שהוגדרו ב-overrides.yaml חסר את המאפיין התואם EnvironmentGroup.

אבחון

מריצים את הפקודה הבאה:

kubectl -n apigee describe apigeeissue ISSUE_NAME

כאשר ISSUE_NAME הוא שם הבעיה. לדוגמה: vhost-missing-eg-my-eg.

מוחזרת תשובה שדומה לדוגמה הבאה:

Name:         vhost-missing-eg-my-eg
Namespace:    apigee
Labels:       ais-reason=AIS_VIRTUALHOST_MISSING_ENVGROUP
Annotations:  <none>
API Version:  apigee.cloud.google.com/v1alpha1
Kind:         ApigeeIssue
Metadata:
  Creation Timestamp:  2023-04-05T14:29:38Z
  Generation:          1
  Managed Fields:
    API Version:  apigee.cloud.google.com/v1alpha1
    Fields Type:  FieldsV1
    fieldsV1:
      f:spec:
        .:
        f:details:
        f:documentation:
        f:reason:
        f:severity:
    Manager:         apigeewatcher
    Operation:       Update
    Time:            2023-04-05T14:29:38Z
  Resource Version:  28195
  UID:               f7b62eb3-3f84-4a37-9ba8-9a0e1e9c3454
Spec:
  Details:        Expected EnvironmentGroup "my-eg" in ApigeeOrganization "my-org" for ApigeeRouteConfig "my-org-my-eg"
  Documentation:  https://cloud.google.com/apigee/docs/api-platform/troubleshoot/playbooks/vh-missing-env-group
  Reason:         AIS_VIRTUALHOST_MISSING_ENVGROUP
  Severity:       ERROR
Events:           <none>
Spec:
  Details:        Expected EnvironmentGroup "my-eg" in ApigeeOrganization "my-org" for ApigeeRouteConfig "my-org-my-eg"

התוכן של Spec.Details מסביר את השם של EnvironmentGroup שצפוי להתקיים.

רזולוציה

  1. משתמשים בפקודה describe ApigeeIssue כדי להציג את השם של EnvironmentGroup שאמור להתקיים:
    kubectl -n apigee describe apigeeissues ISSUE_NAME

    כאשר ISSUE_NAME הוא שם הבעיה. לדוגמה: vhost-missing-eg-my-eg.

    בדוגמה הזו, קבוצת הסביבות my-eg צפויה בארגון my-org של Apigee.

  2. כדי לפתור את הבעיה, אפשר להשתמש באחת מהשיטות הבאות:
    1. יוצרים את קבוצת הסביבות:
      1. יצירת קבוצת סביבות
      2. הוספת סביבה
      3. יצירת שרת proxy
      4. פורסים שרת proxy בסביבה הזו.
    2. כדי למחוק את קבוצת הסביבה:
      1. פותחים את overrides.yaml בכלי לעריכת טקסט.
      2. מוחקים את קבוצת הסביבות שהוסרה מה-virtualhosts.
      3. שומרים את קובץ ה-overrides.yaml.
      4. מגישים מחדש את קובץ ה-overrides.yaml באמצעות פקודת Helm:

        הרצת בדיקה:

        helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
          --namespace APIGEE_NAMESPACE \
          --atomic \
          --set envgroup=ENV_GROUP \
          -f overrides.yaml \
          --dry-run=server
        

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

        יכול להיות שההתקנה שלכם הוגדרה באמצעות ENV_GROUP_RELEASE_NAME ששונה מ-ENV_GROUP, ויכול להיות שלא. מידע על ההגדרות מופיע במאמר בנושא התקנת Apigee hybrid באמצעות Helm.

        מתקינים את התרשים:

        helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \
          --namespace APIGEE_NAMESPACE \
          --atomic \
          --set envgroup=ENV_GROUP \
          -f overrides.yaml
        

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

צריך לאסוף פרטי אבחון

אם הבעיה נמשכת גם אחרי שמבצעים את ההוראות שלמעלה, צריך לאסוף את נתוני האבחון הבאים ואז לפנות אל Cloud Customer Care:

  1. מזהה הפרויקט ב- Google Cloud .
  2. השם של הארגון ב-Apigee Hybrid.
  3. השדה Spec.Details של ApigeeIssue.