Como resolver problemas de atualização e upgrade de ambientes

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Nesta página, você encontrará informações para solucionar problemas que podem ser encontrados ao atualizar ou atualizar ambientes do Cloud Composer.

Para informações sobre solução de problemas relacionadas à criação de ambientes, consulte Solução de problemas de criação de ambientes.

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

  • Problemas de permissão da conta de serviço
  • Problemas de dependência do PyPI
  • Tamanho do banco de dados do Airflow

Permissões insuficientes para atualizar ou fazer upgrade de um ambiente

Se o Cloud Composer não puder atualizar ou fazer upgrade de um ambiente devido a permissões insuficientes, a seguinte mensagem de erro será exibida:

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

Solução: atribua papéis à sua conta e à conta de serviço do ambiente, conforme descrito em Controle de acesso.

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

Ao criar um ambiente do Cloud Composer, você especifica uma conta de serviço que realiza a maioria das operações do ambiente. Se essa conta de serviço não tiver permissões suficientes para a operação solicitada, o Cloud Composer vai gerar um erro:

    UPDATE operation on this environment failed 3 minutes ago with the
    following error message:
    Composer Backend timed out. Currently running tasks are [stage:
    CP_COMPOSER_AGENT_RUNNING
    description: "No agent response published."
    response_timestamp {
      seconds: 1618203503
      nanos: 291000000
    }
    ].

Solução: atribua papéis à sua Conta do Google e à conta de serviço do ambiente, conforme descrito em Controle de acesso.

O tamanho do banco de dados do Airflow é muito grande para realizar a operação

Uma operação de upgrade pode não ter êxito porque o tamanho do banco de dados do Airflow é muito grande para que as operações de upgrade tenham sucesso.

Se o tamanho do banco de dados do Airflow for maior do que 16 GB, o Cloud Composer vai gerar o seguinte erro:

Airflow database uses more than 16 GB. Please clean the database before upgrading.

Solução: execute a limpeza do banco de dados do Airflow, conforme descrito em Limpeza do banco de dados do Airflow.

Falha no upgrade para uma nova versão do Cloud Composer devido a conflitos de pacote do PyPI

Ao fazer upgrade de um ambiente com pacotes PyPI personalizados instalados, talvez ocorram erros relacionados a conflitos no pacote PyPI. Isso pode acontecer porque a nova imagem do Cloud Composer contém versões mais recentes de pacotes pré-instalados. Isso pode causar conflitos de dependência com pacotes PyPI que você instalou no ambiente.

Solução:

  • Para conferir informações detalhadas sobre conflitos de pacotes, execute uma verificação de upgrade.
  • Reduzir as restrições de versão para pacotes PyPI personalizados instalados. Por exemplo, em vez de especificar uma versão como ==1.0.1, especifique-a como >=1.0.1.
  • Para mais informações sobre como alterar os requisitos de versão para resolver dependências conflitantes, consulte a documentação do pip (em inglês).

Não é possível fazer upgrade de um ambiente para uma versão que ainda tem suporte

Os ambientes do Cloud Composer só podem ser atualizados para várias versões mais recentes e anteriores.

As limitações de versão para criar novos ambientes e atualizar ambientes existentes são diferentes. A versão do Cloud Composer escolhida ao criar um novo ambiente pode não estar disponível ao fazer upgrade de ambientes existentes.

É possível realizar a operação de upgrade usando a CLI, a API ou o Terraform do Google Cloud. No console do Google Cloud, apenas as versões mais recentes estão disponíveis como opções de upgrade.

A falta de conectividade com o DNS pode causar problemas ao realizar upgrades ou atualizações.

Esses problemas de conectividade podem resultar em entradas de registro como esta:

WARNING - Compute Engine Metadata server unavailable attempt 1 of 5. Reason: [Errno -3] Temporary failure in name resolution Error

Isso geralmente significa que não há uma rota para o DNS. Verifique se o nome de DNS metadata.google.internal pode ser resolvido em um endereço IP dentro das redes de cluster, pods e serviços. Verifique se o acesso privado do Google está ativado na VPC (no projeto de host ou de serviço) em que o ambiente foi criado.

A seguir