Scadenza del certificato in entrata

Stai visualizzando la documentazione relativa a Apigee e Apigee ibrido.
Non esiste una equivalente documentazione di Apigee Edge per questo argomento.

Sintomo

ApigeeIssue con Reason AIS_INGRESS_CERT_EXPIREY è a quello mostrato durante la visualizzazione delle risorse nello spazio dei nomi apigee.

Messaggi di errore

Dopo aver eseguito kubectl -n apigee get apigeeissues, si verifica un errore come il seguente visualizzato:

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

Cause possibili

Causa Descrizione
Il certificato in entrata sta per scadere Il certificato in entrata configurato scadrà entro 14 giorni.
Il certificato in entrata è scaduto Il certificato in entrata configurato è scaduto.

Causa: il certificato in entrata scadrà a breve

Il certificato in entrata archiviato nel secret Kubernetes a cui fa riferimento un ApigeeRouteConfig scadrà entro i prossimi 14 giorni.

Diagnosi

Esegui questo comando:

kubectl -n apigee describe apigeeissue ISSUE_NAME

dove ISSUE_NAME è il nome del problema. Ad esempio: ingress-cert-expiring-soon-my-org-my-virtualhost.

L'output dovrebbe essere simile al seguente:

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

I contenuti di Spec.Details spiegano il nome del ApigeeRouteConfig che fa riferimento al secret Kubernetes contenente il traffico in entrata in scadenza.

Risoluzione

  1. Usa kubectl describe per visualizzare il nome del ApigeeRouteConfig che ha il certificato in entrata che scadrà a breve:

    kubectl -n apigee describe apigeeissue ISSUE_NAME

    dove ISSUE_NAME è il nome del problema. Ad esempio: ingress-cert-expiring-soon-my-org-my-virtualhost.

    In questo esempio, il valore di ApigeeRouteConfig my-org-my-virtualhost è che fa riferimento al secret my-org-my-virtualhost.

  2. Stabilisci il nome virtualhost dal ApigeeRouteConfig.

    Il nome del ApigeeRouteConfig è nel seguente formato: <Apigee organization>-<virtualhost name>.

    In questo esempio, my-org è l'organizzazione Apigee e il nome virtualhost è my-virtualhost.

  3. Trova il virtualhost corrispondente nel tuo overrides.yaml.

    virtualhosts:
    ...
    - name: my-virtualhost
      selector:
        app: apigee-ingressgateway
      sslCertPath: ./certs/vhost.pem
      sslKeyPath: ./certs/vhost.key
    ...
  4. Aggiorna il certificato e la chiave elencati in sslCertPath e sslKeyPath file.

  5. Applica le modifiche a virtualhost:

    helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \
      --namespace apigee \
      --set envgroup=ENV_GROUP_NAME \
      -f overrides.yaml

Causa: il certificato in entrata è scaduto

Il certificato in entrata archiviato nel secret Kubernetes a cui fa riferimento un ApigeeRouteConfig è scaduto.

Diagnosi

Esegui questo comando:

kubectl -n apigee describe apigeeissue ISSUE_NAME

dove ISSUE_NAME è il nome del problema. Ad esempio: ingress-cert-expired-my-org-my-virtualhost.

Viene restituito un risultato simile al seguente:

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

I contenuti di Spec.Details spiegano il nome del ApigeeRouteConfig che fa riferimento al secret Kubernetes contenente il traffico in entrata scaduto.

Risoluzione

  1. Usa kubectl describe per visualizzare il nome del ApigeeRouteConfig che ha il certificato in entrata scaduto:

    kubectl -n apigee describe apigeeissue ISSUE_NAME

    dove ISSUE_NAME è il nome del problema. Ad esempio: ingress-cert-expired-my-org-my-virtualhost.

    In questo esempio, il valore di ApigeeRouteConfig my-org-my-virtualhost è che fa riferimento al secret my-org-my-virtualhost.

  2. Stabilisci il nome virtualhost dal ApigeeRouteConfig.

    Il nome del ApigeeRouteConfig è nel seguente formato: <Apigee organization>-<virtualhost name>.

    In questo esempio, my-org è l'organizzazione Apigee e il nome virtualhost è my-virtualhost.

  3. Trova il virtualhost corrispondente nel tuo overrides.yaml.

    virtualhosts:
    ...
    - name: my-virtualhost
      selector:
        app: apigee-ingressgateway
      sslCertPath: ./certs/vhost.pem
      sslKeyPath: ./certs/vhost.key
    ...
  4. Aggiorna il certificato e la chiave elencati in sslCertPath e sslKeyPath file.

  5. Applica le modifiche a virtualhost:

    helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \
      --namespace apigee \
      --set envgroup=ENV_GROUP_NAME \
      -f overrides.yaml

Raccogliere dati diagnostici

Se il problema persiste anche dopo aver seguito le istruzioni riportate sopra, raccogli riporta le seguenti informazioni diagnostiche e contatta l'assistenza clienti Google Cloud:

  1. L'ID del progetto Google Cloud.
  2. Il nome dell'organizzazione Apigee ibrida.
  3. Il campo Spec.Details di ApigeeIssue.
  4. (Facoltativo) File a cui fanno riferimento sslCertPath e sslKeyPath per virtualhost interessato.