En esta página se describe lo siguiente:
Cómo inspeccionar los detalles y los registros de las implementaciones y las revisiones individuales.
Estrategias para solucionar errores habituales que pueden aparecer al implementar una configuración de Terraform.
Inspeccionar los detalles y los registros de la implementación
Puede consultar los detalles y los registros tanto de la implementación como de las revisiones concretas.
Inspeccionar el estado del despliegue
Cada implementación tiene información sobre su estado actual, su código de error y detalles sobre las causas de los fallos.
Si se produce algún error, empieza por consultar el estado de una implementación.
Inspeccionar el estado de una revisión
Si una implementación falla y se devuelve el código de error REVISION_FAILED
, puedes ver el estado de una revisión.
En el resultado del estado de la revisión, consulta los campos stateDetail
y errorCode
.
El estado de la revisión incluye la misma información que el de una implementación. Además, incluye el ID de compilación.
Inspeccionar 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 versiones para obtener información sobre cómo inspeccionar los resultados de las versiones.
Errores frecuentes
En esta sección se describen los errores habituales que pueden aparecer al implementar una configuración de Terraform con Infra Manager.
Implementación fallida
Si el estado del despliegue es FAILED
, significa que se ha producido un error inesperado.
Consulta el estado de la implementación
e inspecciona los campos stateDetail
y errorCode
para obtener más información.
Si una implementación falla y aparece 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
, puede 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.
Entre los ejemplos de errores de configuración se incluyen una configuración no válida o la falta de permisos.
Consulta los errores de Terraform. En el resultado del estado del despliegue:
tfErrors
es un resumen de los errores que ha detectado Terraform (Infra Manager limita a 10 el número de errores que se muestran en esta lista).errorLogs
apunta a un objeto de Cloud Storage en tu segmento de artefactos. Este contiene todos lostfErrors
en formato JSON delimitado por líneas nuevas.
Cada tfError
tiene una dirección de recurso y una descripción del error legible para humanos en el campo errorDescription
. Si el recurso falla debido a un código de error HTTP devuelto por una API Google Cloud , también se rellena el campo httpResponseCode
. Cualquier información adicional sobre errores de la API se registra en el campo "error".
La cuenta de servicio no tiene los permisos necesarios para obtener la configuración
Aparece 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.
Este error se produce porque Infra Manager no tiene permiso para obtener la configuración de Terraform del segmento de Cloud Storage.
Para solucionar el problema, asigna el rol storage.objectViewer
a la cuenta de servicio. Para obtener más información sobre cómo conceder permisos a la cuenta de servicio, consulta Configurar la cuenta de servicio.
Ubicación incorrecta para obtener la configuración
Aparece el siguiente error:
`blueprint fetch failed: invalid path`
Este error se produce cuando se especifica una ubicación no válida para obtener la configuración de Terraform. Infra Manager usa el término blueprint para hacer referencia a una configuración de Terraform.
Para solucionar este error, compruebe la ubicación de la configuración de Terraform y asegúrese de que la ubicación tenga el formato correcto en el comando.
Permiso incorrecto para activar recursos
Los errores suelen aparecer en tfErrors
con el código de respuesta 403
de los recursos que no se han podido implementar.
Este error se produce cuando la cuenta de servicio no tiene permisos suficientes para crear, leer, actualizar o eliminar recursos definidos en la configuración de Terraform.
Para solucionar este error, consulta Otorgar permisos de gestión de identidades y accesos a la cuenta de servicio.
Configuración con backend
Aparece el siguiente error:
`blueprint invalid: found backend config in file.tf`
Este error se produce cuando la configuración de Terraform tiene un bloque de backend. Infrastructure Manager gestiona el backend, por lo que no se puede definir un bloque de backend en la configuración de Terraform.
Para solucionar este error, elimina el bloque de backend de la configuración.
Validar la configuración del repositorio de Cloud Build
Si Infra Manager no puede acceder a tu repositorio de Git (mediante un repositorio de Git privado o un flujo de trabajo automatizado de Cloud Build), es posible que tengas que validar que tu repositorio de Cloud Build se ha configurado correctamente.
Para comprobar que el repositorio de Cloud Build se ha configurado para proporcionar acceso al repositorio privado, consulta Conectar con 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 accessReadToken en el repositorio de Cloud Build seleccionado.
Ejecuta este comando con la cuenta de servicio de Infra Manager para verificar que los permisos son 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"
Siguientes pasos
- Consulta más información sobre Terraform con Google Cloud.
- Actualiza un despliegue.
- Consulta el estado de un despliegue.
- Consulta los recursos implementados.
- Eliminar un despliegue