Esta página descreve:
Como inspecionar detalhes e registos para implementações e revisões individuais.
Estratégias de resolução de problemas para erros comuns que pode ver quando implementa uma configuração do Terraform.
Inspecione os detalhes e os registos da implementação
Pode inspecionar os detalhes e os registos da implementação e das revisões individuais.
Inspeccione o estado da implementação
Cada implementação tem informações sobre o respetivo estado atual, código de erro e detalhes sobre as causas da falha.
Para quaisquer erros, comece por ver o estado de uma implementação.
Inspeccione o estado de uma revisão
Se uma implementação falhar com o código de erro REVISION_FAILED
, pode
ver o estado de uma revisão.
Na saída do estado da revisão, consulte os campos stateDetail
e errorCode
.
O estado da revisão inclui as mesmas informações que uma implementação. Além disso, inclui o ID da compilação.
Inspecione os registos do Cloud Build
Veja o estado de uma revisão e obtenha o ID da compilação do Cloud Build usado pela revisão.
Use o ID da compilação para inspecionar os registos do Cloud Build. Consulte o artigo Ver resultados da compilação para ver detalhes sobre como inspecionar os resultados da compilação.
Erros comuns
Esta secção descreve os erros comuns que pode ver quando implementa uma configuração do Terraform com o Infra Manager.
Falha na implementação
Se o estado de implementação for FAILED
, a implementação encontrou um erro inesperado.
Veja o estado da implementação
e inspecione os campos stateDetail
e errorCode
para mais informações.
Se uma implementação falhar com o código de erro REVISION_FAILED
, pode
inspecionar o estado da revisão.
Erros de configuração
Se o estado da implementação for FAILED
, pode ter falhado devido a erros de configuração com a configuração do Terraform.
Se o erro de implementação estiver relacionado com a sua configuração, os campos tfErrors
e errorLogs
são incluídos no resultado do estado da implementação.
Os exemplos de erros de configuração incluem uma configuração inválida ou autorizações em falta.
Veja os erros do Terraform. No resultado do estado da implementação:
tfErrors
é um resumo dos erros encontrados pelo Terraform (limitado pelo Infra Manager a 10 erros nesta lista).errorLogs
apontam para um objeto do Cloud Storage no seu contentor de artefactos. Este contentor contém todos ostfErrors
no formato JSON delimitado por nova linha.
Cada tfError
tem um endereço de recurso e uma descrição de erro legível no campo errorDescription
. Se o recurso falhar devido a um código de erro HTTP devolvido por uma Google Cloud API, o campo httpResponseCode
também é preenchido. Todas as informações adicionais sobre falhas da API são registadas no campo de erro.
A conta de serviço não tem autorizações para obter a configuração
É apresentado o seguinte erro:
error downloading 'GCS_LOCATION': googleapi: Error 403: SA_EMAIL does
not have storage.objects.list access to the Google Cloud Storage bucket.
Este erro é apresentado porque o Infra Manager não tem autorização para obter a configuração do Terraform do contentor do Cloud Storage.
Para resolver o problema, atribua a função storage.objectViewer
à conta de serviço. Para ver detalhes sobre como conceder autorizações à conta de serviço, consulte o artigo
Configure a conta de serviço.
Localização incorreta para obter a configuração
É apresentado o seguinte erro:
`blueprint fetch failed: invalid path`
Este erro é apresentado quando é especificada uma localização inválida para obter a configuração do Terraform. O Infra Manager usa o termo projeto para se referir a uma configuração do Terraform.
Para resolver este erro, verifique a localização da configuração do Terraform e certifique-se de que a localização está formatada corretamente no comando.
Autorização incorreta para acionar recursos
Normalmente, os erros estão abaixo de tfErrors
com o código de resposta 403
para os recursos que não foi possível implementar.
Este erro é apresentado quando a conta de serviço não tem autorização suficiente para criar, ler, atualizar ou eliminar recursos definidos na configuração do Terraform.
Para resolver este erro, consulte o artigo Conceda autorizações de IAM à conta de serviço.
Configuração com o back-end
É apresentado o seguinte erro:
`blueprint invalid: found backend config in file.tf`
Este erro é apresentado quando a configuração do Terraform tem um bloco de back-end. O Infrastructure Manager gere o back-end, pelo que não é possível definir um bloco de back-end na configuração do Terraform.
Para resolver este erro, remova o bloco de back-end da configuração.
Valide a configuração do repositório do Cloud Build
Se o Infra Manager não conseguir aceder ao seu repositório Git (através de um repositório Git privado ou de um fluxo de trabalho automatizado do Cloud Build), pode ter de validar se o repositório do Cloud Build foi configurado corretamente.
Para validar se o repositório do Cloud Build foi configurado para fornecer acesso ao repositório privado, consulte o artigo Estabeleça ligação a um repositório do GitHub.
O Infra Manager usa a primeira associação em que o URL do repositório do Cloud Build corresponde à configuração do Terraform (referenciada em --git-source-repo
) e em que consegue gerar um token só de leitura.
A associação do repositório é validada diretamente por uma chamada à API accessReadToken no repositório do Cloud Build selecionado.
Execute este comando com a conta de serviço do Infra Manager para verificar se as autorizações estão corretas:
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"
O que se segue?
- Saiba mais sobre o Terraform com Google Cloud.
- Atualize uma implementação.
- Veja o estado de uma implementação.
- Veja os recursos implementados.
- Elimine uma implementação.