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_INGRESS_CERT_EXPIREY 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 ingress-cert-expired-my-org-my-virtualhost ERROR AIS_INGRESS_CERT_EXPIREY https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_CERT_EXPIREY 5h18m
Mögliche Ursachen
| Ursache | Beschreibung |
|---|---|
| Ingress-Zertifikat läuft bald ab | Das konfigurierte Ingress-Zertifikat läuft innerhalb von 14 Tagen ab. |
| Ingress-Zertifikat ist abgelaufen | Das konfigurierte Ingress-Zertifikat ist abgelaufen. |
Ursache: Ingress-Zertifikat läuft bald ab
Das Ingress-Zertifikat, das im Kubernetes-Secret gespeichert ist, auf das ein ApigeeRouteConfig verweist, läuft innerhalb der nächsten 14 Tage ab.
Diagnose
Führen Sie dazu diesen Befehl aus:
kubectl -n apigee describe apigeeissue ISSUE_NAME
Dabei ist ISSUE_NAME der Name des Problems. Beispiel: ingress-cert-expiring-soon-my-org-my-virtualhost
Die Ausgabe sollte in etwa so aussehen:
Name: ingress-cert-expiring-soon-my-org-my-virtualhost Namespace: apigee Labels: ais-reason=AIS_INGRESS_CERT_EXPIREY 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: Ingress certificate in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" is expiring in 5.409373245s at 2024-03-11 19:04:12 +0000 UTC Documentation: https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_CERT_EXPIREY Reason: AIS_INGRESS_CERT_EXPIREY Severity: WARNING Events: <none>
Spec: Details: Ingress certificate in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" is expiring in 5.409373245s at 2024-03-11 19:04:12 +0000 UTC
Der Inhalt von Spec.Details erläutert den Namen der ApigeeRouteConfig, die sich auf das Kubernetes-Secret mit dem Ingress-Zertifikat bezieht, das bald abläuft.
Lösung
-
Verwenden Sie
kubectl describe, um den Namen desApigeeRouteConfiganzuzeigen, der das Ingress-Zertifikat enthält, das bald abläuft:kubectl -n apigee describe apigeeissue ISSUE_NAME
Dabei ist ISSUE_NAME der Name des Problems. Beispiel:
ingress-cert-expiring-soon-my-org-my-virtualhost.In diesem Beispiel verweist
ApigeeRouteConfigmy-org-my-virtualhostauf das Secretmy-org-my-virtualhost. -
Ermitteln Sie den
virtualhost-Namen aus demApigeeRouteConfig.Der Name des
ApigeeRouteConfighat das Format:<Apigee organization>-<virtualhost name>.In diesem Beispiel ist
my-orgdie Apigee-Organisation und der Name des virtuellen Hostsmy-virtualhost. -
Suchen Sie den entsprechenden virtuellen Host in Ihrem
overrides.yaml.virtualhosts: ... - name: my-virtualhost selector: app: apigee-ingressgateway sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ... -
Aktualisieren Sie das Zertifikat und den Schlüssel, die in den Dateien
sslCertPathundsslKeyPathaufgeführt sind. -
Wenden Sie die Änderungen auf den Virtualhost an:
helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \ --namespace apigee \ --set envgroup=ENV_GROUP_NAME \ -f overrides.yaml
Ursache: Ingress-Zertifikat ist abgelaufen
Das Ingress-Zertifikat, das im Kubernetes-Secret gespeichert ist, auf das ein ApigeeRouteConfig verweist, ist abgelaufen.
Diagnose
Führen Sie dazu diesen Befehl aus:
kubectl -n apigee describe apigeeissue ISSUE_NAME
Dabei ist ISSUE_NAME der Name des Problems. Beispiel: ingress-cert-expired-my-org-my-virtualhost
Es wird in etwa Folgendes zurückgegeben:
Name: ingress-cert-expired-my-org-my-virtualhost Namespace: apigee Labels: ais-reason=AIS_INGRESS_CERT_EXPIREY 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: Ingress certificate in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" expired at: 2024-03-11 19:12:10 +0000 UTC Documentation: https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_CERT_EXPIREY Reason: AIS_INGRESS_CERT_EXPIREY Severity: ERROR Events: <none>
Spec: Details: Ingress certificate in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" expired at: 2024-03-11 19:12:10 +0000 UTC
Der Inhalt von Spec.Details erläutert den Namen des ApigeeRouteConfig, der auf das Kubernetes-Secret mit dem abgelaufenen Ingress-Zertifikat verweist.
Lösung
-
Verwenden Sie
kubectl describe, um den Namen desApigeeRouteConfiganzuzeigen, der das abgelaufene Ingress-Zertifikat hat:kubectl -n apigee describe apigeeissue ISSUE_NAME
Dabei ist ISSUE_NAME der Name des Problems. Beispiel:
ingress-cert-expired-my-org-my-virtualhost.In diesem Beispiel verweist
ApigeeRouteConfigmy-org-my-virtualhostauf das Secretmy-org-my-virtualhost. -
Ermitteln Sie den
virtualhost-Namen aus demApigeeRouteConfig.Der Name des
ApigeeRouteConfighat das Format:<Apigee organization>-<virtualhost name>.In diesem Beispiel ist
my-orgdie Apigee-Organisation und der Name des virtuellen Hostsmy-virtualhost. -
Suchen Sie den entsprechenden virtuellen Host in Ihrem
overrides.yaml.virtualhosts: ... - name: my-virtualhost selector: app: apigee-ingressgateway sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ... -
Aktualisieren Sie das Zertifikat und den Schlüssel, die in den Dateien
sslCertPathundsslKeyPathaufgeführt sind. -
Wenden Sie die Änderungen 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.DetailsvonApigeeIssue. -
(Optional) Dateien, auf die von
sslCertPathundsslKeyPathfür den betroffenen virtuellen Host verwiesen wird.