Resolução de problemas de criação de ambientes

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Esta página fornece informações de resolução de problemas para problemas que pode encontrar ao criar ambientes do Cloud Composer.

Para informações de resolução de problemas relacionadas com a atualização e a atualização de ambientes, consulte Resolução de problemas de atualizações de ambientes.

Quando os ambientes do Cloud Composer são criados, a maioria dos problemas ocorre pelos seguintes motivos:

  • Problemas de autorização da conta de serviço.

  • Informações incorretas de firewall, DNS ou encaminhamento.

  • Problemas relacionados com a rede. Por exemplo, configuração de VPC inválida, conflitos de endereços IP ou intervalos de IP de rede demasiado restritos.

  • Problemas relacionados com quotas.

  • Políticas da organização incompatíveis.

Permissões insuficientes para criar um ambiente

Se o Cloud Composer não conseguir criar um ambiente porque a sua conta tem autorizações insuficientes, apresenta as seguintes mensagens de erro:

ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: The caller
does not have permission

ou

ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: User not
authorized to act as service account <service-account-name>.
The user must be granted iam.serviceAccounts.actAs permission, included in
Owner, Editor, Service Account User role. See https://cloud.google.com/iam/docs
/understanding-service-accounts for additional details.

Solução: atribua funções à sua conta e à conta de serviço do seu ambiente, conforme descrito em Controlo de acesso.

  • No Cloud Composer 2, certifique-se de que a conta de serviço do agente de serviço do Cloud Composer (service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com) tem a função Extensão do agente de serviço da API Cloud Composer v2 atribuída.

  • Certifique-se de que o agente do serviço de APIs Google (PROJECT_NUMBER@cloudservices.gserviceaccount.com) tem a função de editor atribuída.

  • Na configuração da VPC partilhada, siga as instruções de configuração da VPC partilhada.

A conta de serviço do ambiente tem autorizações insuficientes

Quando cria um ambiente do Cloud Composer, especifica uma conta de serviço que executa os nós do cluster do GKE do ambiente. Se esta conta de serviço não tiver autorizações suficientes para a operação pedida, o Cloud Composer apresenta o seguinte erro:

Errors in: [Web server]; Error messages:
  Creation of airflow web server version failed. This may be an intermittent
  issue of the App Engine service. You may retry the operation later.
{"ResourceType":"appengine.v1.version","ResourceErrorCode":"504","ResourceError
Message":"Your deployment has failed to become healthy in the allotted time
and therefore was rolled back. If you believe this was an error, try adjusting
the 'app_start_timeout_sec' setting in the 'readiness_check' section."}

Solução: atribua funções à sua conta e à conta de serviço do seu ambiente, conforme descrito em Controlo de acesso.

Avisos sobre funções de IAM em falta em contas de serviço

Quando a criação de um ambiente falha, o Cloud Composer gera a seguinte mensagem de aviso após a ocorrência de um erro: The issue may be caused by missing IAM roles in the following Service Accounts ....

Esta mensagem de aviso realça as possíveis causas do erro. O Cloud Composer verifica se existem funções necessárias nas contas de serviço no seu projeto e, se estas funções não estiverem presentes, gera esta mensagem de aviso.

Solução: verifique se as contas de serviço mencionadas na mensagem de aviso têm as funções necessárias. Para mais informações sobre funções e autorizações no Cloud Composer, consulte o artigo Controlo de acesso.

Em alguns casos, pode ignorar este aviso. O Cloud Composer não verifica as autorizações individuais atribuídas às funções. Por exemplo, se usar funções de IAM personalizadas, é possível que a conta de serviço mencionada na mensagem de aviso já tenha todas as autorizações necessárias. Neste caso, pode ignorar este aviso.

Políticas da organização incompatíveis

As seguintes políticas têm de ser configuradas adequadamente para que seja possível criar ambientes do Cloud Composer com êxito.

Política da organização Cloud Composer 3 Cloud Composer 2 Cloud Composer 1
compute.disableSerialPortLogging É permitido qualquer valor Tem de estar desativado Desativado para versões anteriores a 1.13.0; caso contrário, qualquer valor
compute.requireOsLogin É permitido qualquer valor É permitido qualquer valor Tem de estar desativado
compute.vmCanIpForward É permitido qualquer valor É permitido qualquer valor Tem de ser permitida (necessária para clusters do GKE pertencentes ao Cloud Composer) quando o modo nativo da VPC (com IP de alias) não está configurado
compute.vmExternalIpAccess É permitido qualquer valor Tem de ser permitido para ambientes de IP público Tem de ser permitido para ambientes de IP público
compute.restrictVpcPeering Podem ser aplicadas Não é possível aplicar Não é possível aplicar
compute.disablePrivateServiceConnectCreationForConsumers É permitido qualquer valor Não é possível recusar SERVICE_PRODUCERS para ambientes de IP privado e público. Não afeta os ambientes existentes, que podem funcionar quando esta política está ativada. Não é possível recusar SERVICE_PRODUCERS para ambientes de IP privado. Não afeta os ambientes existentes, que podem funcionar quando esta política está ativada.
compute.restrictPrivateServiceConnectProducer Quando estiver ativa, adicione a organização google.com à lista de autorizações Quando estiver ativa, adicione a organização google.com à lista de autorizações É permitido qualquer valor

Políticas de limite de acesso principal incompatíveis

As políticas de limite de acesso principal configuradas na sua organização podem ser configuradas de forma a bloquear algumas das operações do seu ambiente ou impedir a criação de novos ambientes.

Se for o caso, pode ver a seguinte linha nas mensagens de erro:

Operations on resource are denied due to an IAM Principal Access Boundary Policy.

Os componentes do seu ambiente estão localizados num inquilino e num projeto de cliente. O projeto de inquilino é gerido pela Google e não pertence à organização onde o ambiente está localizado. A conta de serviço do seu ambiente tem de ter autorizações para realizar operações no projeto de inquilino.

Solução:

Restringir os serviços usados na organização ou no projeto

Os administradores da organização ou do projeto podem restringir os serviços Google que podem ser usados nos respetivos projetos através da restrição da política da organização gcp.restrictServiceUsage.

Quando usar esta política de organização, é importante permitir todos os serviços exigidos pelo Cloud Composer.

O que se segue?