Como resolver problemas da criação de ambientes

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Nesta página, você encontrará informações para solucionar problemas que podem ser encontrados durante a criação de ambientes do Cloud Composer.

Para informações sobre solução de problemas relacionadas à atualização e upgrade de ambientes, ver Como solucionar problemas de atualizações e upgrades do ambiente

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

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

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

  • Problemas relacionados à rede. Por exemplo, configuração de VPC, endereço IP inválidos conflitos ou intervalos de IP de rede muito restritos.

  • Problemas relacionados a cotas.

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

Permissões insuficientes para criar um ambiente

Se o Cloud Composer não criar um ambiente porque sua conta não tem permissões suficientes, as seguintes mensagens de erro serão exibidas:

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: atribuir papéis à sua conta e à conta de serviço do ambiente, conforme descrito em Controle de acesso.

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

  • Confirme se o Agente de serviço de APIs do Google (PROJECT_NUMBER@cloudservices.gserviceaccount.com) tem o papel de Editor.

  • Na configuração da VPC compartilhada, siga Configure as instruções da VPC compartilhada.

A conta de serviço do ambiente não tem permissões suficientes

Ao criar um ambiente do Cloud Composer, você especifica um serviço conta que executa os nós do cluster do GKE do ambiente. Se esse a conta de serviço não tem permissões suficientes para a operação solicitada O Cloud Composer gera 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: atribuir papéis à sua conta e à conta de serviço do ambiente, conforme descrito em Controle de acesso.

Avisos sobre papéis do IAM ausentes em contas de serviço

Quando a criação de um ambiente falha, o Cloud Composer gera o 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 ...:

Essa mensagem de aviso destaca as possíveis causas do erro. O Cloud Composer verifica os papéis necessários nas contas de serviço do seu projeto. Se esses papéis não estiverem presentes, será gerado mensagem.

Solução: verifique se as contas de serviço mencionadas na mensagem de aviso têm os papéis necessários. Para mais informações sobre papéis e permissões em Cloud Composer, consulte Controle de acesso.

Em alguns casos, você pode ignorar esse aviso. O Cloud Composer não verifica as permissões individuais atribuídas aos papéis. Por exemplo, se você usar papéis personalizados do IAM, é possível que a conta de serviço mencionado na mensagem de aviso já tem todas as permissões necessárias. Neste caso, ignore este aviso.

Não existe uma rede VPC selecionada para o ambiente

É possível especificar uma rede VPC e uma sub-rede para o Cloud Composer ambiente quando você o cria. Se você não especificar uma rede VPC, o O serviço do Cloud Composer seleciona a VPC default e a default para a região e a zona do ambiente.

Se a rede VPC e a sub-rede especificadas não existirem, O Cloud Composer gera o seguinte erro:

Errors in: [GKE cluster]; Error messages:
        {"ResourceType":"gcp-types/container-v1:projects.locations.clusters","R
        esourceErrorCode":"400","ResourceErrorMessage":{"code":400,"message":"P
        roject \"<your composer project>\" has no network named \"non-existing-
        vpc\".","status":"INVALID_ARGUMENT","statusMessage":"Bad
        Request","requestPath":"https://container.googleapis.com/
        v1/projects/<your composer
        project>/locations/<zone>/clusters","httpMethod":"POST"}}

Solução:

  • No Cloud Composer 2, é possível criar ambientes que usar o Private Service Connect em vez da VPC redes VPC.
  • Antes de criar um ambiente, verifique se a rede VPC e a sub-rede do novo ambiente.

Configuração de rede incorreta

A criação de ambientes do Cloud Composer requer rede ou DNS adequado configuração do Terraform. Siga estas instruções para configurar a conectividade com o Google APIs e serviços:

Se você configurar os ambientes do Cloud Composer em um modo de VPC compartilhada, siga as instruções da VPC compartilhada.

Um ambiente do Cloud Composer usa uma sub-rede para nós de cluster e intervalos de IP para pods e serviços. Para garantir a comunicação com esses e outros intervalos de IP, siga estas instruções para configurar as regras de firewall:

Também é possível verificar entradas de registro em select GCE Networking e Subnetwork categorias de configuração no Cloud Logging para ver se há alguma erros relatados durante a criação do ambiente: Cloud Logging (em inglês)

Problemas de cotas encontrados ao criar ambientes em redes de grande escala

Ao criar ambientes do Cloud Composer em redes de grande escala, você pode encontrar as seguintes limitações de cotas:

  • O número máximo de peerings de VPC por rede VPC é atingido.
  • O número máximo de intervalos de IP de sub-redes primárias e secundárias foi atingido.
  • O número máximo de regras de encaminhamento no grupo de peering para balanceamento de carga TCP/UDP interno é atingido.

Solução:

Políticas da organização incompatíveis

As políticas a seguir precisam ser configuradas corretamente para que os ambientes do Cloud Composer possam ser criados.

Política da organização Cloud Composer 3 Cloud Composer 2 Cloud Composer 1
compute.disableSerialPortLogging É permitido qualquer valor Precisa ser desativado Desativado para versões anteriores à 1.13.0. qualquer valor
compute.requireOsLogin É permitido qualquer valor É permitido qualquer valor Precisa ser desativado
compute.vmCanIpForward É permitido qualquer valor É permitido qualquer valor Precisa ser permitido (obrigatório para clusters do GKE de propriedade do Cloud Composer) quando o modo nativo de VPC (usando o IP do alias) não for configurado
compute.vmExternalIpAccess É permitido qualquer valor Precisa ser permitido em ambientes de IP público Precisa ser permitido em ambientes de IP público
compute.restrictVpcPeering Pode ser aplicado Não é possível aplicar Não é possível aplicar
compute.disablePrivateServiceConnectCreationForConsumers É permitido qualquer valor É permitido qualquer valor Não é possível proibir o SERVICE_PRODUCERS se o Private Service Connect for usado
compute.restrictPrivateServiceConnectProducer Quando estiver ativo, coloque a organização google.com na lista de permissões Quando estiver ativo, coloque a organização google.com na lista de permissões É permitido qualquer valor

Para mais informações, consulte a página Problemas conhecidos e Restrições da política da organização.

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

Os administradores da organização ou do projeto podem restringir o que os Serviços do Google usadas em seus projetos usando o gcp.restrictServiceUsage por uma limitação de política da organização.

Ao usar essa política da organização, é importante permitir todos os serviços exigidos pelo Cloud Composer.

Mensagens de erro 400: falha ao implantar o servidor da Web do Airflow.

Esse erro pode ser causado por uma falha na criação de um cluster do GKE de um ambiente de IP privado porque há sobreposição de intervalos de IP.

Solução: verifique os registros em busca de falhas no cluster do ambiente e resolva o problema com base na mensagem de erro do GKE.

O Cloud Build falha ao criar imagens de ambiente

Aplicável a: Cloud Composer 2 e Cloud Composer 1.

Se a conta de serviço do Cloud Build (PROJECT_NUMBER@cloudbuild.gserviceaccount.com) não tem o Papel de conta de serviço do Cloud Build (roles/cloudbuild.builds.builder) em no projeto e as tentativas de criar ou atualizar um ambiente podem falhar erros relacionados a permissões.

Por exemplo, é possível encontrar denied: Permission "artifactregistry.repositories.uploadArtifacts" denied mensagem seguida por ERROR: failed to push because we ran out of retries em os registros do Cloud Build.

Para resolver esse problema, verifique se a conta de serviço do Cloud Build tem o papel Conta de serviço do Cloud Build.

A seguir