Estás consultando la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
Síntoma
Puede observar uno de los siguientes síntomas:
- Las aplicaciones cliente reciben errores de tiempo de espera como respuesta a las llamadas a la API en Apigee hybrid.
- Se producen errores como
Error from server (invalid)oThe Job "apigee-resources-install" is invalidal aplicar la configuración (overrides.yaml) al clúster durante la instalación híbrida.
Mensajes de error
Puede que observes uno de los siguientes errores:
Respuesta de error a las llamadas a la API
Las solicitudes a la API en Apigee Hybrid pueden fallar y mostrar el siguiente mensaje de error:
* Connection failed * connect to 34.84.67.39 port 443 failed: Operation timed out * Failed to connect to example.apis.com port 443: Operation timed out * Closing connection 0 curl: (7) Failed to connect to example.apis.com port 443: Operation timed out
Errores observados al aplicar la configuración (overrides.yaml) a los clústeres
Puede que se produzca uno de los siguientes errores al aplicar la configuración (archivo overrides.yaml) a los clústeres durante la instalación:
Error 1
helm upgrade operator apigee-operator/ \ --install \ --create-namespace \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE
... ... Error from server (Invalid): error when applying patch: to: Resource: "batch/v1, Resource=jobs", GroupVersionKind: "batch/v1, Kind=Job" Name: "istio-init-crd-10-1.4.6", Namespace: "istio-system" to: Resource: "batch/v1, Resource=jobs", GroupVersionKind: "batch/v1, Kind=Job" Name: "istio-init-crd-11-1.4.6", Namespace: "istio-system" to: Resource: "batch/v1, Resource=jobs", GroupVersionKind: "batch/v1, Kind=Job" Name: "istio-init-crd-14-1.4.6", Namespace: "istio-system"
Error n.º 2
helm upgrade operator apigee-operator/ \ --install \ --create-namespace \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE
... ... The Job "apigee-resources-install" is invalid: spec.template: Invalid value: core.PodTemplateSpec{ObjectMeta:v1.ObjectMeta{Name:"apigee-resources-install", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0,
Posibles motivos
Estos errores pueden producirse si el servicio istio-ingressgateway se encuentra en un estado pending y no puede enlazarse a una dirección IP externa, como se muestra a continuación:
kubectl get services -n istio-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
istio-ingressgateway LoadBalancer 10.198.5.104 <pending> 15020:31927/TCP, 12h
80:31381/TCP,
443:31391/TCP,
31400:31401/TCP,
15443:32623/TCP
Estos son los posibles motivos por los que el servicio istio-ingressgateway puede estar en estado pending:
| Causa | Descripción |
|---|---|
| Trabajos en estado de error o pendiente en el espacio de nombres istio-system | Los trabajos incomplete/erroneous del espacio de nombres istio-system podrían provocar que el servicio istio-ingressgateway esté en estado pending para siempre y no pueda enlazarse a una dirección IP externa. |
| El trabajo apigee-resources-install está en estado de error o pendiente en el espacio de nombres apigee-system | Los trabajos incomplete del espacio de nombres apigee-system podrían provocar que el servicio istio- ingressgateway esté en estado pending indefinidamente y no pueda enlazarse a una dirección IP externa. |
| Intervalo de direcciones IP incorrecto asignado al balanceador de carga externo | Es posible que se haya configurado un intervalo de direcciones IP incorrecto en el archivo istio-operator.yaml, lo que provoca que el servicio istio-ingressgateway se quede en el estado pending para siempre y no pueda enlazarse a una dirección IP externa durante la instalación.
|
Causa: las tareas del espacio de nombres istio-system están en estado de error o pendiente
Diagnóstico
- Comprueba el estado de los trabajos del espacio de nombres
istio-systemcon el siguiente comando:kubectl get jobs -n istio-system
- El estado de los trabajos debe ser
complete. Si el estado de los trabajos eserroneous/pending, esa es la causa del problema.
Resolución
- Si alguno de los trabajos tiene el estado
pendingoerroneous, elimínelo con el siguiente comando:kubectl -n istio-system delete job JOB_NAME_FROM_STEP_1
- Vuelve a ejecutar la instalación aplicando el archivo
overrides.yaml:Actualiza
apigee-serving-certcon Helm:helm install operator apigee-operator/ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE \ --dry-run=server
Asegúrate de incluir todos los ajustes que se muestran, incluido
--atomicpara que la acción se revierta si falla.Instala el gráfico:
helm upgrade operator apigee-operator/ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE
Causa: es posible que el trabajo apigee-resources-install del espacio de nombres apigee-system esté en un estado erróneo.
Diagnóstico
- Comprueba el estado de los trabajos del espacio de nombres
apigee-systemcon el siguiente comando:kubectl get jobs -n apigee-system
- El estado de los trabajos debe ser
complete. Si el estado de los trabajos eserroneous/pending, esa es la causa del problema. La siguiente salida de ejemplo muestra que la tareaapigee-resources-installse ha completado correctamente.kubectl get jobs -n apigee-system NAME COMPLETIONS DURATION AGE apigee-resources-install 1/1 23s 16d
Resolución
- Si los trabajos tienen el estado
pendingoerroneous, elimínalos con el siguiente comando:kubectl -n apigee-system delete job JOB_NAME_FROM_STEP_1
- Vuelve a ejecutar la instalación aplicando el archivo
overrides.yaml:apigeectl apply -f overrides.yaml
Causa: se ha asignado un intervalo de direcciones IP incorrecto al balanceador de carga externo
Diagnóstico
- Comprueba la dirección IP configurada para el balanceador de carga en el archivo
istio- operator.yaml. Por ejemplo, el siguiente fragmento muestra la ubicación en el archivoistio-operator.yamldonde se configura la dirección IP:-name: istio-ingressgateway enabled: true k8s: service: type: LoadBalancer loadBalancerIP: 10.195.24.23
- El servicio
istio-ingressgatewayse configura como un balanceador de carga (indicado por el tipo) en el archivoistio-operator.yaml. Durante la instalación de ASM, se crea un balanceador de carga con la dirección IP configurada y se conecta para comunicarse con el servicioistio- ingressgateway. Por lo tanto, la dirección IP configurada debe ser correcta y estar reservada para el balanceador de carga. - Ponte en contacto con tu equipo de redes y comprueba que la dirección IP configurada para
loadBalancerIPsea correcta. Si no es correcta, el servicio de balanceador de carga no podrá enlazarse a la dirección IP. Esto hace que el servicioistio-ingressgatewayesté en el estadopendingpara siempre.
Resolución
- Ponte en contacto con tu equipo de redes y configura la dirección IP correcta en el archivo
istio- operator.yaml. - Vuelve a ejecutar la instalación de la
puerta de enlace de entrada de Apigee y aplica el archivo
overrides.yaml:helm upgrade $ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE
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 ID del proyecto de Google Cloud
- Nombre de la organización de Apigee Hybrid
- Nombre del clúster de Kubernetes
- Nombre del proyecto de Google Cloud si el clúster de Kubernetes reside en otro proyecto de Google Cloud
- El archivo
overrides.yaml - El archivo
Istio-operator .yamlque se ha usado durante la instalación de ASM. - Recopila los registros de cada pod
istio-ingressgatewaydel espacio de nombresistio-system:kubectl logs NAME_OF_ISTIO_INGRESSGATEWAY_POD -n istio-system > /tmp/NAME_OF_ISTIO_INGRESSGATEWAY_POD.log
- Recopila la descripción de cada pod del espacio de nombres
istio-system:kubectl describe pod NAME_OF_ISTIO_INGRESSGATEWAY_POD -n istio-system > /tmp/NAME_OF_ISTIO_INGRESSGATEWAY_POD.yaml
- Recoge la lista de servicios del espacio de nombres
istio-system:kubectl get svc -n istio-system