En esta página, se describe lo siguiente:
Cómo inspeccionar los detalles y los registros de las implementaciones y las revisiones individuales
Estrategias de solución de problemas para los errores comunes que podrías ver cuando implementes una configuración de Terraform.
Inspecciona los detalles y los registros de la implementación
Puedes inspeccionar los detalles y los registros de la implementación y de las revisiones individuales.
Inspecciona el estado de la implementación
Cada implementación tiene información sobre su estado actual, el código de error y los detalles sobre las causas de las fallas.
Si hay algún error, comienza por ver el estado de una implementación.
Inspecciona el estado de una revisión
Si una implementación falla con el código de error REVISION_FAILED
, puedes
ver el estado de una revisión.
En el resultado del estado de la revisión, observa los campos stateDetail
y errorCode
.
El estado de la revisión incluye la misma información que la de una implementación. Además, incluye el ID de compilación.
Inspecciona los registros de Cloud Build
Consulta el estado de una revisión y obtén el ID de compilación de Cloud Build que usa la revisión.
Usa el ID de compilación para inspeccionar los registros de Cloud Build. Consulta Ver resultados de compilación para obtener detalles sobre cómo inspeccionar los resultados de compilación.
Errores comunes
En esta sección, se describen los errores comunes que puedes ver cuando implementas una configuración de Terraform con Infra Manager.
Implementación fallida
Si el estado de la implementación es FAILED
, la implementación encontró un error inesperado.
Consulta el estado de la implementación
y, luego, inspecciona los campos stateDetail
y errorCode
para obtener más información.
Si una implementación falla con el código de error REVISION_FAILED
, puedes
inspeccionar el estado de la revisión.
Errores de configuración
Si el estado de la implementación es FAILED
, es posible que haya fallado debido a errores de configuración con la configuración de Terraform.
Si el error de implementación está relacionado con tu configuración, los campos tfErrors
y errorLogs
se incluyen en el resultado del estado de la implementación.
Algunos ejemplos de errores de configuración incluyen una configuración no válida o permisos faltantes.
Consulta los errores de Terraform. En el resultado del estado de la implementación, verás lo siguiente:
tfErrors
es un resumen de los errores que encontró Terraform (limitado por Infra Manager a 10 errores en esta lista).errorLogs
apunta a un objeto de Cloud Storage en tu bucket de artefactos. Este bucket contiene todos lostfErrors
en formato JSON delimitado por saltos de línea.
Cada tfError
tiene una dirección de recurso y una descripción del error legible por humanos en el campo errorDescription
. Si el recurso falla debido a un código de error HTTP que se muestra desde una API de Google Cloud , el campo httpResponseCode
también se propaga. Cualquier información adicional de falla de la API se registra en el campo de error.
Faltan permisos de la cuenta de servicio para recuperar la configuración
Verás el siguiente error:
error downloading 'GCS_LOCATION': googleapi: Error 403: SA_EMAIL does
not have storage.objects.list access to the Google Cloud Storage bucket.
Ves este error porque Infra Manager no tiene permiso para obtener la configuración de Terraform del bucket de Cloud Storage.
Para abordar el problema, otorga el rol storage.objectViewer
a la cuenta de servicio. Para obtener detalles sobre cómo otorgar permisos a la cuenta de servicio, consulta Configura la cuenta de servicio.
La ubicación para recuperar la configuración es incorrecta
Verás el siguiente error:
`blueprint fetch failed: invalid path`
Ves este error cuando se especifica una ubicación no válida para recuperar la configuración de Terraform. Infrastructure Manager usa el término blueprint para referirse a una configuración de Terraform.
Para solucionar este error, verifica la ubicación de la configuración de Terraform y asegúrate de que tenga el formato correcto en tu comando.
Permiso incorrecto para activar recursos
Los errores suelen ser inferiores a tfErrors
con el código de respuesta 403
para los recursos que no se pudieron implementar.
Verás este error cuando la cuenta de servicio no tenga permisos suficientes para crear, leer, actualizar o borrar recursos definidos en la configuración de Terraform.
Para solucionar este error, consulta Otorga permisos de IAM a la cuenta de servicio.
Configuración con backend
Verás el siguiente error:
`blueprint invalid: found backend config in file.tf`
Ves este error cuando la configuración de Terraform tiene un bloque de backend. Infrastructure Manager administra el backend, por lo que no se puede definir un bloque de backend en la configuración de Terraform.
Para solucionar este error, quita el bloque de backend de la configuración.
Valida la configuración del repositorio de Cloud Build
Si Infra Manager no puede acceder a tu repositorio de Git (con un repositorio de Git privado o un flujo de trabajo automatizado de Cloud Build), es posible que debas validar que tu repositorio de Cloud Build se haya configurado correctamente.
Para validar que el repositorio de Cloud Build se configuró para proporcionar acceso al repositorio privado, consulta Cómo conectarse a un repositorio de GitHub.
Infra Manager usa la primera conexión en la que la URL del repositorio de Cloud Build coincide con la configuración de Terraform (a la que se hace referencia en --git-source-repo
) y en la que puede generar un token de solo lectura.
La conexión del repositorio se valida directamente mediante una llamada a la API de accessReadToken en el repositorio de Cloud Build seleccionado.
Ejecuta este comando con la cuenta de servicio de Infra Manager para verificar que los permisos sean correctos:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token \
--impersonate-service-account=SERVICE_ACCOUNT)" \
"https://cloudbuild.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/connections/CB_CONNECTION/repositories/CB_REPO:accessReadToken"
¿Qué sigue?
- Obtén más información sobre Terraform con Google Cloud.
- Actualiza una implementación.
- Consulta el estado de una implementación.
- Ver los recursos implementados.
- Borra una implementación.