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
-
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
. -
Ermitteln Sie den Namen des
virtualhost
aus dem FeldSpec.Details
.In diesem Beispiel heißt der virtuelle Host
my-virtualhost
. -
Suchen Sie den entsprechenden virtuellen Host in der
overrides.yaml
.virtualhosts: ... - name: my-virtualhost sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ...
-
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 ...
-
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:
- Die Google Cloud-Projekt-ID.
- Der Name der Apigee Hybrid-Organisation.
- Das Feld
Spec.Details
vonApigeeIssue
.