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_MTLS_CA_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 ca-cert-expired-my-org-my-virtualhost ERROR AIS_INGRESS_MTLS_CA_CERT_EXPIREY https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_MTLS_CA_CERT_EXPIREY 5h18m
Mögliche Ursachen
Ursache | Beschreibung |
---|---|
mTLS-CA-Zertifikat für eingehenden Traffic läuft bald ab | Das konfigurierte mTLS-CA-Zertifikat für eingehenden Traffic läuft innerhalb von 14 Tagen ab. |
mTLS-CA-Zertifikat für eingehenden Traffic ist abgelaufen | Das konfigurierte mTLS-CA-Zertifikat für eingehenden Traffic ist abgelaufen. |
Ursache: Ingress-mTLS-CA-Zertifikat läuft bald ab
Das Ingress-mTLS-CA-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: ca-cert-expiring-soon-my-org-my-virtualhost
Die Ausgabe sollte in etwa so aussehen:
Name: ca-cert-expiring-soon-my-org-my-virtualhost Namespace: apigee Labels: ais-reason=AIS_INGRESS_MTLS_CA_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: CA 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_MTLS_CA_CERT_EXPIREY Reason: AIS_INGRESS_MTLS_CA_CERT_EXPIREY Severity: WARNING Events: <none>
Spec: Details: CA 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 des ApigeeRouteConfig
, der sich auf das Kubernetes-Secret mit dem Ingress-mTLS-CA-Zertifikat bezieht, das bald abläuft.
Lösung
-
Verwenden Sie
kubectl describe
, um den Namen vonApigeeRouteConfig
aufzurufen, der das Ingress-mTLS-CA-Zertifikat enthält, das bald abläuft:kubectl -n apigee describe apigeeissue ISSUE_NAME
Dabei ist ISSUE_NAME der Name des Problems. Beispiel:
ca-cert-expiring-soon-my-org-my-virtualhost
.In diesem Beispiel verweist
ApigeeRouteConfig
my-org-my-virtualhost
auf das Secretmy-org-my-virtualhost
. -
Ermitteln Sie den
virtualhost
-Namen aus demApigeeRouteConfig
.Der Name des
ApigeeRouteConfig
hat das Format:<Apigee organization>-<virtualhost name>
.In diesem Beispiel ist
my-org
die 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 caCertPath: ./certs/ca.pem sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ...
-
Aktualisieren Sie das in der Datei
caCertPath
aufgeführte CA-Zertifikat. -
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
Ursache: Ingress-mTLS-CA-Zertifikat ist abgelaufen
Das Ingress-mTLS-CA-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: ca-cert-expired-my-org-my-virtualhost
Die Ausgabe sollte in etwa so aussehen:
Name: ca-cert-expired-my-org-my-virtualhost Namespace: apigee Labels: ais-reason=AIS_INGRESS_MTLS_CA_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: CA 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_MTLS_CA_CERT_EXPIREY Reason: AIS_INGRESS_MTLS_CA_CERT_EXPIREY Severity: ERROR Events: <none>
Spec: Details: CA 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 sich auf das Kubernetes-Secret mit dem abgelaufenen Ingress-mTLS-CA-Zertifikat bezieht.
Lösung
-
Verwenden Sie
kubectl describe
, um den Namen desApigeeRouteConfig
aufzurufen, der das abgelaufene Ingress-mTLS-CA-Zertifikat enthält:kubectl -n apigee describe apigeeissue ISSUE_NAME
Dabei ist ISSUE_NAME der Name des Problems. Beispiel:
ca-cert-expired-my-org-my-virtualhost
.In diesem Beispiel verweist
ApigeeRouteConfig
my-org-my-virtualhost
auf das Secretmy-org-my-virtualhost
. -
Ermitteln Sie den
virtualhost
-Namen aus demApigeeRouteConfig
.Der Name des
ApigeeRouteConfig
hat das Format:<Apigee organization>-<virtualhost name>
.In diesem Beispiel ist
my-org
die 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 caCertPath: ./certs/ca.pem sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ...
-
Aktualisieren Sie das in der Datei
caCertPath
aufgeführte CA-Zertifikat. -
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
. -
(Optional) Datei, auf die von
caCertPath
für den betroffenen virtuellen Host verwiesen wird.