Virtueller Host ohne Selektor

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_SELECTOR wird angezeigt, wenn Ressourcen im Namespace apigee angezeigt werden.

Fehlermeldungen

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

NAME                                           SEVERITY   REASON                             DOCUMENTATION                                                                                  AGE
vhost-missing-selector-my-org-my-virtualhost   ERROR      AIS_VIRTUALHOST_MISSING_SELECTOR   https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_VIRTUALHOST_MISSING_SELECTOR   5h18m

Ursache: Virtueller Host ohne Ingress-Selektor

Für einen in overrides.yaml deklarierten virtuellen Host ist das Feld für die Ingress-Auswahl nicht festgelegt.

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-selector-my-org-my-virtualhost

Die Ausgabe sollte in etwa so aussehen:

Name:         vhost-missing-selector-my-org-my-virtualhost
Namespace:    apigee
Labels:       ais-reason=AIS_VIRTUALHOST_MISSING_SELECTOR
Annotations:  <none>
API Version:  apigee.cloud.google.com/v1alpha1
Kind:         ApigeeIssue
Metadata:
  Creation Timestamp:  2023-06-12T17:03:43Z
  Generation:          1
  Owner References:
    API Version:     apigee.cloud.google.com/v1alpha2
    Kind:            ApigeeOrganization
    Name:            my-org
    UID:             7e83a52c-ce00-4bed-98be-55835ada1817
  Resource Version:  3281563
  UID:               adc775c2-376d-4bf9-9860-500b2b2b8273
Spec:
  Details:        Expected ingress selector in ApigeeRouteConfig "my-org-my-virtualhost". Environment Group/virtual host "my-virtualhost" is missing an ingress selector.
  Documentation:  https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_VIRTUALHOST_MISSING_SELECTOR
  Reason:         AIS_VIRTUALHOST_MISSING_SELECTOR
  Severity:       WARNING
Events:           <none>
Spec:
  Details:        Expected ingress selector in ApigeeRouteConfig "my-org-my-virtualhost". Environment Group/virtual host "my-virtualhost" is missing an ingress selector.

Der Inhalt von Spec.Details erläutert den Namen des Virtualhosts, bei dem der Ingress-Selektor fehlt.

Lösung

  1. Prüfen Sie mit kubectl describe die Details des Problems:

    kubectl -n apigee describe apigeeissue ISSUE_NAME

    Dabei ist ISSUE_NAME der Name des Problems. Beispiel: vhost-missing-selector-my-org-my-virtualhost.

  2. Ermitteln Sie den Namen des virtualhost aus dem Feld Spec.Details.

    In diesem Beispiel heißt der virtuelle Host my-virtualhost.

  3. Suchen Sie den entsprechenden virtuellen Host in der overrides.yaml.

    virtualhosts:
    ...
    - name: my-virtualhost
      sslCertPath: ./certs/vhost.pem
      sslKeyPath: ./certs/vhost.key
    ...
  4. Aktualisieren Sie den virtuellen Host und fügen Sie den Ingress-Selektor hinzu.

    virtualhosts:
    ...
    - name: my-virtualhost
      selector:
        app: apigee-ingressgateway
      sslCertPath: ./certs/vhost.pem
      sslKeyPath: ./certs/vhost.key
    ...
  5. Wenden Sie die Änderung auf den Virtualhost an:

    helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \
      --namespace apigee \
      --set envgroup=ENV_GROUP_NAME \
      -f overrides.yaml

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 Google Cloud Customer Care:

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