Virtueller Host ohne Umgebungsgruppe

Sie lesen gerade die Dokumentation zu Apigee und Apigee Hybrid.
Für dieses Thema gibt es keine entsprechende Apigee Edge-Dokumentation.

Symptom

Ein ApigeeIssue mit Reason AIS_VIRTUALHOST_MISSING_ENVGROUP wird angezeigt, wenn Ressourcen im Namespace apigee angezeigt werden.

Fehlermeldungen

Nachdem kubectl -n apigee get apigeeissues ausgeführt wurde, wird der folgende Fehler angezeigt:

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

Ursache: Virtueller Host ohne Umgebungsgruppe

Bei einem der in overrides.yaml definierten virtualhosts fehlt die entsprechende EnvironmentGroup.

Diagnose

Führen Sie dazu diesen Befehl aus:

kubectl -n apigee describe apigeeissue ISSUE_NAME

Dabei ist ISSUE_NAME der Name des Problems. Beispiel: vhost-missing-eg-my-eg.

Es wird in etwa Folgendes zurückgegeben:

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"

Der Inhalt von Spec.Details erläutert den Namen der EnvironmentGroup, der voraussichtlich vorhanden ist.

Lösung

  1. Verwenden Sie den Befehl describe ApigeeIssue, um den Namen der EnvironmentGroup anzuzeigen, der voraussichtlich vorhanden ist:
    kubectl -n apigee describe apigeeissues ISSUE_NAME

    Dabei ist ISSUE_NAME der Name des Problems. Beispiel: vhost-missing-eg-my-eg.

    In diesem Beispiel wird die Umgebungsgruppe my-eg in der Apigee-Organisation my-org erwartet.

  2. Verwenden Sie eine der folgenden Methoden, um das Problem zu beheben:
    1. Erstellen Sie die Umgebungsgruppe:
      1. Erstellen Sie eine Umgebungsgruppe.
      2. Fügen Sie eine Umgebung hinzu.
      3. Erstellen Sie ein Proxy.
      4. Stellen Sie ein Proxy für diese Umgebung bereit.
    2. Löschen Sie die Umgebungsgruppe:
      1. Öffnen Sie overrides.yaml in einem Texteditor.
      2. Löschen Sie die entfernte Umgebungsgruppe aus der virtualhosts.
      3. Speichern Sie die Datei overrides.yaml.
      4. Wenden Sie die Datei overrides.yaml mit dem Helm-Befehl noch einmal an:

        Probelauf:

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

        Achten Sie darauf, alle angezeigten Einstellungen anzugeben, einschließlich --atomic, damit die Aktion bei einem Fehler rückgängig gemacht wird.

        Ihre Installation wurde möglicherweise mit einer ENV_GROUP_RELEASE_NAME eingerichtet, die sich von ENV_GROUP unterscheidet. Informationen zu den Einstellungen finden Sie unter Apigee Hybrid mit Helm installieren.

        Installation des Diagramms:

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

        Wiederholen Sie den Vorgang und prüfen Sie, ob die Fehlermeldung nicht mehr zurückgegeben wird.

Erfassen von Diagnoseinformationen erforderlich

Wenn das Problem auch nach Befolgen der obigen Anweisungen weiterhin besteht, sammeln Sie die folgenden Diagnoseinformationen und wenden Sie sich dann an den Google Cloud-Support:

  1. Die Google Cloud Projekt-ID.
  2. Der Name der Apigee Hybrid-Organisation.
  3. Das Feld Spec.Details von ApigeeIssue.