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 |
---|---|
Ingress-mTLS-CA-Zertifikat läuft bald ab | Das konfigurierte mTLS-CA-Zertifikat für eingehenden Traffic läuft innerhalb von 14 Tagen ab. |
Das eingehende mTLS-CA-Zertifikat ist abgelaufen | Das konfigurierte mTLS-CA-Zertifikat für eingehenden Traffic ist abgelaufen. |
Ursache: Ingress-mTLS-CA-Zertifikat läuft bald ab
Das eingehende mTLS-CA-Zertifikat für eingehenden Traffic, das im Kubernetes-Secret gespeichert ist, auf das von einem ApigeeRouteConfig
verwiesen wird, 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 der ApigeeRouteConfig
, der sich auf das Kubernetes-Secret mit dem Ingress-mTLS-CA-Zertifikat für eingehenden Traffic bezieht, das bald abläuft.
Lösung
-
Verwenden Sie
kubectl describe
, um den Namen desApigeeRouteConfig
anzuzeigen, der das mTLS-CA-Zertifikat für eingehenden Traffic 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 CA-Zertifikat, das in der Datei
caCertPath
aufgeführt ist. -
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 für eingehenden Traffic ist abgelaufen
Das eingehende mTLS-CA-Zertifikat für eingehenden Traffic, 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 auf das Kubernetes-Secret mit dem abgelaufenen mTLS-CA-Zertifikat für eingehenden Traffic verweist.
Lösung
-
Verwenden Sie
kubectl describe
, um den Namen desApigeeRouteConfig
anzuzeigen, der das abgelaufene mTLS-CA-Zertifikat für eingehenden Traffic 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 CA-Zertifikat, das in der Datei
caCertPath
aufgeführt ist. -
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 den Apigee-Support:
- 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.