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.
Não existe uma rede de VPC selecionada para o ambiente
Pode especificar uma rede de VPC e uma sub-rede para o seu ambiente do Cloud Composer quando o cria. Se não especificar uma rede VPC, o serviço Cloud Composer seleciona a default
VPC e a default
sub-rede para a região e a zona do ambiente.
Se a sub-rede e a rede VPC especificadas não existirem, o Cloud Composer devolve 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, pode criar ambientes que usam o Private Service Connect em vez de redes VPC.
- Antes de criar um ambiente, certifique-se de que a rede VPC e a sub-rede para o novo ambiente existem.
Configuração de rede incorreta
As criações de ambientes do Cloud Composer requerem uma configuração adequada de rede ou DNS. Siga estas instruções para configurar a conetividade às APIs e aos serviços Google:
Se configurar ambientes do Cloud Composer num modo de VPC partilhada, siga também as instruções da VPC partilhada.
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 estes e outros intervalos de IPs, siga estas instruções para configurar regras de firewall:
Também pode verificar se existem entradas de registo nas categorias de configuração GCE Networking
e Subnetwork
selecionadas no Cloud Logging para ver se existem erros comunicados durante a criação do ambiente: Cloud Logging
Problemas de quota encontrados ao criar ambientes em redes de grande escala
Quando cria ambientes do Cloud Composer em redes de grande escala, pode deparar-se com as seguintes limitações de quotas:
- O número máximo de intercâmbios da VPC por rede da VPC foi atingido.
- Foi atingido o número máximo de intervalos de IPs de sub-rede primários e secundários.
- O número máximo de regras de encaminhamento no grupo de peering para o balanceamento de carga de TCP/UDP interno foi atingido.
Solução:
- No Cloud Composer 2, pode criar ambientes que usam o Private Service Connect em vez de redes VPC.
- No Cloud Composer 1, aplique a abordagem recomendada para o Cloud Composer em redes de grande escala.
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:
- Adicione uma expressão de condição à associação da política para excluir a conta de serviço do ambiente da política. Para ver um exemplo de como excluir um principal para que a política não se aplique a ele, consulte o artigo Associações de políticas condicionais para políticas de limites de acesso de principais na documentação de gestão de identidade e acesso.
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.
Mensagens de erro 400: falha na implementação do servidor Web do Airflow.
Este erro pode ser causado por uma falha na criação do cluster do GKE de um ambiente de IP privado devido a intervalos de IP sobrepostos.
Solução: verifique se existem falhas nos registos do cluster do seu ambiente e resolva o problema com base na mensagem de erro do GKE.
O Cloud Build não consegue criar imagens de ambiente
Aplica-se a: Cloud Composer 2 e Cloud Composer 1.
Se a conta de serviço do Cloud Build (PROJECT_NUMBER@cloudbuild.gserviceaccount.com
) não tiver a função Conta de serviço do Cloud Build (roles/cloudbuild.builds.builder
) no seu projeto, as tentativas de criar ou atualizar um ambiente podem falhar com erros relacionados com autorizações.
Por exemplo, pode ver a mensagem denied: Permission "artifactregistry.repositories.uploadArtifacts" denied
seguida de ERROR: failed to push because we ran out of retries
nos registos do Cloud Build.
Para resolver este problema, certifique-se de que a conta de serviço do Cloud Build tem a função Conta de serviço do Cloud Build.