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_INVALID 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-invalid-my-org-my-virtualhost ERROR AIS_INGRESS_MTLS_CA_CERT_INVALID https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_MTLS_CA_CERT_INVALID 5h18m
Mögliche Ursachen
| Ursache | Beschreibung | 
|---|---|
| Ingress-mTLS-CA-Zertifikat ist nicht PEM-codiert | Das konfigurierte Ingress-mTLS-CA-Zertifikat ist nicht PEM-codiert. | 
| mTLS-CA-Zertifikat für eingehenden Traffic ist fehlerhaft | Das konfigurierte mTLS-CA-Zertifikat für eingehenden Traffic ist fehlerhaft. | 
Ursache: Ingress-mTLS-CA-Zertifikat ist nicht PEM-codiert
  Im Ingress-mTLS-CA-Zertifikat, das im Kubernetes-Secret gespeichert ist, auf das ein ApigeeRouteConfig verweist, fehlen die PEM-codierten Textblöcke oder sie sind fehlerhaft.
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-invalid-my-org-my-virtualhost
Die Ausgabe sollte in etwa so aussehen:
Name: ca-cert-invalid-my-org-my-virtualhost Namespace: apigee Labels: ais-reason=AIS_INGRESS_MTLS_CA_CERT_INVALID 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 not PEM encoded Documentation: https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_MTLS_CA_CERT_INVALID Reason: AIS_INGRESS_MTLS_CA_CERT_INVALID Severity: ERROR Events: <none>
Spec: Details: CA certificate in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" is not PEM encoded
    Der Inhalt von Spec.Details erläutert den Namen der ApigeeRouteConfig, die auf das Kubernetes-Secret mit dem nicht PEM-codierten Ingress-mTLS-CA-Zertifikat verweist.
  
Lösung
- 
    
Verwenden Sie
kubectl describe, um den Namen derApigeeRouteConfiganzuzeigen, die das mTLS-CA-Zertifikat für eingehenden Traffic enthält, das nicht PEM-codiert ist:kubectl -n apigee describe apigeeissue ISSUE_NAME
Dabei ist ISSUE_NAME der Name des Problems. Beispiel:
ca-cert-invalid-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 caCertPath: ./certs/ca.pem sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ... - 
    
Prüfen Sie den Inhalt der Datei, die über den in
caCertPathangegebenen Pfad bereitgestellt wird. Der Inhalt muss die erforderlichen Start- und Endblöcke für das Zertifikat enthalten. Beispiel:-----BEGIN CERTIFICATE----- MIIDYTCCAkmgAwIBAgIUSXeU0pQYRFzYlqZpKhNNJdBLFBIwDQYJKoZIhvcNAQEL ... <contents omitted> ... eWJyaWQuZTJlLmFwaWdlZWtzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC MMM= -----END CERTIFICATE-----
 - 
    
Nachdem Sie den Inhalt und das Format der Datei korrigiert haben, 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 fehlerhaft
  Das Ingress-mTLS-CA-Zertifikat, das im Kubernetes-Secret gespeichert ist, auf das ein ApigeeRouteConfig verweist, ist fehlerhaft.
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-invalid-my-org-my-virtualhost
Die Ausgabe sollte in etwa so aussehen:
Name: ca-cert-invalid-my-org-my-virtualhost Namespace: apigee Labels: ais-reason=AIS_INGRESS_MTLS_CA_CERT_INVALID 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 invalid Documentation: https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_MTLS_CA_CERT_INVALID Reason: AIS_INGRESS_MTLS_CA_CERT_INVALID Severity: ERROR Events: <none>
Spec: Details: CA certificate in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" is invalid
    Der Inhalt von Spec.Details erläutert den Namen der ApigeeRouteConfig, die auf das Kubernetes-Secret verweist, das das Ingress-mTLS-CA-Zertifikat für eingehenden Traffic enthält, das fehlerhaft ist und nicht geparst werden konnte.
  
Lösung
- 
    
Verwenden Sie
kubectl describe, um den Namen derApigeeRouteConfiganzuzeigen, die das fehlerhafte 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-invalid-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 caCertPath: ./certs/ca.pem sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ... - 
    
Prüfen Sie den Inhalt der Datei, die über den in
caCertPathangegebenen Pfad bereitgestellt wird. Der Inhalt muss das gesamte Zertifikat enthalten. Beispiel:-----BEGIN CERTIFICATE----- MIIDYTCCAkmgAwIBAgIUSXeU0pQYRFzYlqZpKhNNJdBLFBIwDQYJKoZIhvcNAQEL BQAwQDE+MDwGA1UEAww1bWF4bWlsbGlvbi1oeWJyaWQtc3RhZ2luZy1kZXYuaHli ... <contents omitted> ... 0TPPaik8U9dtFXMGT1DJkjPRPO0Jw5rlU8DKlNA/Kkv52aKJZNwB/cwmvoa/BFji PIPa9wY= -----END CERTIFICATE-----
 - 
    
Nachdem Sie den Inhalt und das Format der Datei korrigiert haben, 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.DetailsvonApigeeIssue. - 
    (Optional) Datei, auf die von 
caCertPathfür den betroffenen virtuellen Host verwiesen wird.