Estás consultando la documentación de Apigee y Apigee hybrid.
No hay documentación equivalente de
Apigee Edge sobre este tema.
Síntoma
Se muestra un ApigeeIssue
con Reason
AIS_INGRESS_MTLS_CA_CERT_EXPIREY
cuando se ven recursos en el espacio de nombres apigee
.
Mensajes de error
Después de ejecutar kubectl -n apigee get apigeeissues
, se muestra un error como el siguiente:
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
Posibles motivos
Causa | Descripción |
---|---|
El certificado de CA de mTLS de Ingress caduca pronto | El certificado de CA de mTLS de entrada configurado caduca en un plazo de 14 días. |
El certificado de CA de mTLS de Ingress ha caducado | El certificado de AC de mTLS de entrada configurado ha caducado. |
Causa: El certificado de CA de mTLS de Ingress caduca pronto
El certificado de CA de mTLS de entrada almacenado en el secreto de Kubernetes al que hace referencia un ApigeeRouteConfig
caducará en los próximos 14 días.
Diagnóstico
Ejecuta el siguiente comando:
kubectl -n apigee describe apigeeissue ISSUE_NAME
Donde ISSUE_NAME es el nombre del problema. Por ejemplo, ca-cert-expiring-soon-my-org-my-virtualhost
.
La salida debería ser similar a la siguiente:
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
El contenido de Spec.Details
explica el nombre de ApigeeRouteConfig
, que hace referencia al secreto de Kubernetes que contiene el certificado de CA de mTLS de entrada que va a caducar pronto.
Resolución
-
Usa
kubectl describe
para mostrar el nombre delApigeeRouteConfig
que tiene el certificado de CA de mTLS de entrada que va a caducar pronto:kubectl -n apigee describe apigeeissue ISSUE_NAME
Donde ISSUE_NAME es el nombre del problema. Por ejemplo,
ca-cert-expiring-soon-my-org-my-virtualhost
.En este ejemplo,
ApigeeRouteConfig
my-org-my-virtualhost
hace referencia al secretomy-org-my-virtualhost
. -
Determina el nombre de
virtualhost
a partir deApigeeRouteConfig
.El nombre de
ApigeeRouteConfig
tiene el siguiente formato:<Apigee organization>-<virtualhost name>
.En este ejemplo,
my-org
es la organización de Apigee y el nombre del host virtual esmy-virtualhost
. -
Busca el virtualhost correspondiente en tu
overrides.yaml
.virtualhosts: ... - name: my-virtualhost selector: app: apigee-ingressgateway caCertPath: ./certs/ca.pem sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ...
-
Actualiza el certificado de la AC que aparece en el archivo
caCertPath
. -
Aplica el cambio al host virtual:
helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \ --namespace apigee \ --set envgroup=ENV_GROUP_NAME \ -f overrides.yaml
Causa: El certificado de AC de mTLS de Ingress ha caducado
El certificado de CA de mTLS de entrada almacenado en el secreto de Kubernetes al que hace referencia un ApigeeRouteConfig
ha caducado.
Diagnóstico
Ejecuta el siguiente comando:
kubectl -n apigee describe apigeeissue ISSUE_NAME
Donde ISSUE_NAME es el nombre del problema. Por ejemplo, ca-cert-expired-my-org-my-virtualhost
.
La salida debería ser similar a la siguiente:
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
El contenido de Spec.Details
explica el nombre de ApigeeRouteConfig
, que hace referencia al secreto de Kubernetes que contiene el certificado de CA de mTLS de entrada que ha caducado.
Resolución
-
Usa
kubectl describe
para mostrar el nombre deApigeeRouteConfig
que tiene el certificado de CA de mTLS de entrada caducado:kubectl -n apigee describe apigeeissue ISSUE_NAME
Donde ISSUE_NAME es el nombre del problema. Por ejemplo,
ca-cert-expired-my-org-my-virtualhost
.En este ejemplo,
ApigeeRouteConfig
my-org-my-virtualhost
hace referencia al secretomy-org-my-virtualhost
. -
Determina el nombre de
virtualhost
a partir deApigeeRouteConfig
.El nombre de
ApigeeRouteConfig
tiene el siguiente formato:<Apigee organization>-<virtualhost name>
.En este ejemplo,
my-org
es la organización de Apigee y el nombre del host virtual esmy-virtualhost
. -
Busca el virtualhost correspondiente en tu
overrides.yaml
.virtualhosts: ... - name: my-virtualhost selector: app: apigee-ingressgateway caCertPath: ./certs/ca.pem sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ...
-
Actualiza el certificado de la AC que aparece en el archivo
caCertPath
. -
Aplica el cambio al host virtual:
helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \ --namespace apigee \ --set envgroup=ENV_GROUP_NAME \ -f overrides.yaml
Debe recoger información de diagnóstico
Si el problema persiste incluso después de seguir las instrucciones anteriores, reúne la siguiente información de diagnóstico y ponte en contacto con el equipo de Asistencia de Google Cloud:
- El Google Cloud ID del proyecto.
- Nombre de la organización de Apigee Hybrid.
- El campo
Spec.Details
deApigeeIssue
. -
(Opcional) Archivo al que hace referencia
caCertPath
para el host virtual afectado.