Estás viendo la documentación de Apigee y Apigee hybrid.
No hay documentación de Apigee Edge equivalente para este tema.
Síntoma
Se muestra un ApigeeIssue
con Reason
AIS_INGRESS_MTLS_CA_CERT_EXPIREY
cuando se visualizan los 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
Causas posibles
Causa | Descripción |
---|---|
El certificado de la AC de mTLS de entrada vencerá pronto | El certificado de la AC de mTLS de entrada configurado vence en un plazo de 14 días. |
El certificado de la AC de mTLS de entrada está vencido | El certificado de la AC de mTLS de entrada configurado venció. |
Causa: El certificado de la AC de mTLS de entrada vencerá pronto
El certificado de la AC de mTLS de entrada almacenado en el Secret de Kubernetes al que hace referencia un ApigeeRouteConfig
vencerá en los próximos 14 días.
Diagnóstico
Ejecuta el siguiente comando:
kubectl -n apigee describe apigeeissue ISSUE_NAME
En el que ISSUE_NAME es el nombre del problema. Por ejemplo:ca-cert-expiring-soon-my-org-my-virtualhost
El resultado debería ser similar al 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 Secret de Kubernetes que contiene el certificado de la AC de mTLS de entrada que vencerá pronto.
Solución
-
Usa
kubectl describe
para mostrar el nombre de laApigeeRouteConfig
que tiene el certificado de la CA de mTLS de entrada que vencerá pronto:kubectl -n apigee describe apigeeissue ISSUE_NAME
En el que 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 Secretmy-org-my-virtualhost
. -
Determina el nombre
virtualhost
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 host virtual 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 la AC de mTLS de entrada venció
Venció e certificado de la AC de mTLS de entrada almacenado en el Secret de Kubernetes al que hace referencia un ApigeeRouteConfig
.
Diagnóstico
Ejecuta el siguiente comando:
kubectl -n apigee describe apigeeissue ISSUE_NAME
En el que ISSUE_NAME es el nombre del problema. Por ejemplo:ca-cert-expired-my-org-my-virtualhost
El resultado debería ser similar al 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 Secret de Kubernetes que contiene el certificado de CA de mTLS de entrada que venció.
Solución
-
Usa
kubectl describe
para mostrar el nombre de laApigeeRouteConfig
que tiene el certificado de la AC de mTLS de entrada que venció:kubectl -n apigee describe apigeeissue ISSUE_NAME
En el que 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 Secretmy-org-my-virtualhost
. -
Determina el nombre
virtualhost
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 host virtual 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
Se debe recopilar información de diagnóstico
Si el problema persiste incluso después de seguir las instrucciones anteriores, recopila la siguiente información de diagnóstico y, luego, comunícate con Atención al cliente de Google Cloud:
- El ID del proyecto de Google Cloud.
- El 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.