Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Esta página lista problemas conhecidos do Cloud Composer. Para informações sobre as correções de problemas, consulte as notas de lançamento.
Alguns problemas afetam versões anteriores e podem ser corrigidos através da atualização do seu ambiente.
Os intervalos de endereços não RFC 1918 são parcialmente suportados para pods e serviços
O Cloud Composer depende do GKE para oferecer suporte técnico para endereços não RFC 1918 para pods e serviços. Apenas a seguinte lista de intervalos não RFC 1918 é suportada no Cloud Composer:
- 100.64.0.0/10
- 192.0.0.0/24
- 192.0.2.0/24
- 192.88.99.0/24
- 198.18.0.0/15
- 198.51.100.0/24
- 203.0.113.0/24
- 240.0.0.0/4
As etiquetas de ambiente adicionadas durante uma atualização não são totalmente propagadas
Quando atualiza as etiquetas de ambiente, estas não são aplicadas às VMs do Compute Engine no cluster do ambiente. Como solução alternativa, pode aplicar as etiquetas manualmente.
Não é possível criar ambientes do Cloud Composer com as restrições da política da organização/compute.disableSerialPortLogging aplicadas
A criação do ambiente do Cloud Composer falha se a política organizacional constraints/compute.disableSerialPortLogging
for aplicada no projeto de destino.
Diagnóstico
Para determinar se é afetado por este problema, siga este procedimento:
Aceda ao menu do GKE na Google Cloud consola. Visite o menu do GKE
Em seguida, selecione o cluster recém-criado. Verifique se existe o seguinte erro:
Not all instances running in IGM after 123.45s.
Expect <number of desired instances in IGM>. Current errors:
Constraint constraints/compute.disableSerialPortLogging violated for
project <target project number>.
Soluções alternativas:
Desative a política da organização no projeto onde o ambiente do Cloud Composer vai ser criado.
Uma política de organização pode sempre ser desativada ao nível do projeto, mesmo que os recursos principais (organização ou pasta) a tenham ativada. Consulte a página de personalização de políticas para restrições booleanas para ver mais detalhes.
Use filtros de exclusão
A utilização de um filtro de exclusão para registos de porta série. atinge o mesmo objetivo que a desativação da política da organização, uma vez que haverá registos da consola série no Logging. Para mais detalhes, consulte a página Filtros de exclusão.
Utilização do Deployment Manager para gerir Google Cloud recursos protegidos pelos VPC Service Controls
As versões 1 e 2.0.x do Cloud Composer 2 usam o Deployment Manager para criar componentes de ambientes do Cloud Composer.
Em dezembro de 2020, pode ter recebido informações de que teria de realizar uma configuração adicional dos VPC Service Controls para poder usar o Deployment Manager para gerir recursos protegidos pelos VPC Service Controls.
Gostaríamos de esclarecer que não é necessária qualquer ação da sua parte se estiver a usar o Cloud Composer e não estiver a usar o Deployment Manager diretamente para gerir os recursos Google Cloud mencionados no anúncio do Deployment Manager.
O Deployment Manager apresenta informações sobre uma funcionalidade não suportada
Pode ver o seguinte aviso no separador Gestor de implementação:
The deployment uses actions, which are an unsupported feature. We recommend
that you avoid using actions.
Pode ignorar este aviso para implementações do Deployment Manager pertencentes ao Cloud Composer.
Não é possível eliminar um ambiente depois de o respetivo cluster ser eliminado
Este problema aplica-se às versões 2.0.x do Cloud Composer 1 e do Cloud Composer 2.
Se eliminar o cluster do GKE do ambiente antes do próprio ambiente, as tentativas de eliminar o ambiente resultam no seguinte erro:
Got error "" during CP_DEPLOYMENT_DELETING [Rerunning Task. ]
Para eliminar um ambiente quando o respetivo cluster já foi eliminado:
Na Google Cloud consola, aceda à página do Deployment Manager.
Encontre todas as implementações marcadas com etiquetas:
goog-composer-environment:<environment-name>
goog-composer-location:<environment-location>
.
Devem ser apresentadas duas implementações marcadas com as etiquetas descritas:
- Uma implementação com o nome
<environment-location>-<environment-name-prefix>-<hash>-sd
- Uma implementação com o nome
addons-<uuid>
Elimine manualmente os recursos que ainda estão listados nestas duas implementações e que existem no projeto (por exemplo, tópicos e subscrições do Pub/Sub). Para isso:
Selecione as implementações.
Clique em Eliminar.
Selecione a opção Eliminar 2 implementações e todos os recursos criados por elas, como VMs, balanceadores de carga e discos e clique em Eliminar tudo.
A operação de eliminação falha, mas os recursos restantes são eliminados.
Elimine as implementações através de uma destas opções:
Na Google Cloud consola, selecione novamente ambas as implementações. Clique em Eliminar e, de seguida, selecione a opção Eliminar 2 implementações, mas manter os recursos criados por elas.
Execute um comando gcloud para eliminar as implementações com a política
ABANDON
:gcloud deployment-manager deployments delete addons-<uuid> \ --delete-policy=ABANDON gcloud deployment-manager deployments delete <location>-<env-name-prefix>-<hash>-sd \ --delete-policy=ABANDON
Avisos sobre entradas duplicadas da tarefa "echo" pertencente ao DAG "echo-airflow_monitoring"
Pode ver a seguinte entrada nos registos do Airflow:
in _query db.query(q) File "/opt/python3.6/lib/python3.6/site-packages/MySQLdb/
connections.py", line 280, in query _mysql.connection.query(self, query)
_mysql_exceptions.IntegrityError: (1062, "Duplicate entry
'echo-airflow_monitoring-2020-10-20 15:59:40.000000' for key 'PRIMARY'")
Pode ignorar estas entradas do registo, porque este erro não afeta o processamento de tarefas e DAGs do Airflow.
Estamos a trabalhar para melhorar o serviço Cloud Composer de modo a remover estes avisos dos registos do Airflow.
A criação do ambiente falha em projetos com APIs Identity-Aware Proxy adicionadas ao perímetro dos VPC Service Controls
Em projetos com os VPC Service Controls ativados, a conta cloud-airflow-prod@system.gserviceaccount.com
requer acesso explícito no seu perímetro de segurança para criar ambientes.
Para criar ambientes, pode usar uma das seguintes soluções:
Não adicione a API Cloud Identity-Aware Proxy e a API TCP Identity-Aware Proxy ao perímetro de segurança.
Adicione a
cloud-airflow-prod@system.gserviceaccount.com
conta de serviço como membro do seu perímetro de segurança através da seguinte configuração no ficheiro de condições YAML:- members: - serviceAccount:cloud-airflow-prod@system.gserviceaccount.com
A criação ou a atualização do ambiente do Cloud Composer falha quando a política compute.vmExternalIpAccess está desativada
Este problema aplica-se aos ambientes do Cloud Composer 1 e do Cloud Composer 2.
Os clusters do GKE pertencentes ao Cloud Composer configurados no modo de IP público requerem conetividade externa para as respetivas VMs. Por este motivo, a política compute.vmExternalIpAccess
não pode proibir a criação de VMs com endereços IP externos. Para mais informações acerca desta política
organizacional, consulte
Restrições da política da organização.
A primeira execução do DAG para um ficheiro DAG carregado tem várias tarefas com falhas
Quando carrega um ficheiro DAG, por vezes, as primeiras tarefas da primeira execução do DAG falham com o erro Unable to read remote log...
. Este problema ocorre porque o ficheiro DAG está sincronizado entre o contentor do seu ambiente, os trabalhadores do Airflow e os programadores do Airflow do seu ambiente. Se o agendador receber o ficheiro DAG e agendá-lo para execução por um trabalhador e, se o trabalhador ainda não tiver o ficheiro DAG, a execução da tarefa falha.
Para mitigar este problema, os ambientes com o Airflow 2 estão configurados para fazer duas novas tentativas para uma tarefa com falha por predefinição. Se uma tarefa falhar, é repetida duas vezes com intervalos de 5 minutos.
Anúncios sobre a remoção do suporte para APIs beta descontinuadas das versões do GKE
O Cloud Composer gere os clusters do GKE subjacentes pertencentes ao Cloud Composer. A menos que use explicitamente essas APIs nos seus DAGs e código, pode ignorar os anúncios sobre descontinuações de APIs do GKE. O Cloud Composer trata de todas as migrações, se necessário.
O Cloud Composer não deve ser afetado pela vulnerabilidade do Apache Log4j 2 (CVE-2021-44228)
Em resposta à vulnerabilidade do Apache Log4j 2 (CVE-2021-44228), o Cloud Composer realizou uma investigação detalhada e acreditamos que o Cloud Composer não é vulnerável a esta exploração.
Os trabalhadores ou os programadores do Airflow podem ter problemas ao aceder ao contentor do Cloud Storage do ambiente
O Cloud Composer usa o gcsfuse para aceder à pasta /data
no contentor do ambiente e para guardar os registos de tarefas do Airflow no diretório /logs
(se ativado). Se o gcsfuse estiver sobrecarregado ou o contentor do ambiente estiver indisponível, pode ocorrer falhas de instâncias de tarefas do Airflow e ver erros Transport endpoint is not connected
nos registos do Airflow.
Soluções:
- Desative a opção de guardar registos no contentor do ambiente. Esta opção já está desativada por predefinição se for criado um ambiente com o Cloud Composer 2.8.0 ou versões posteriores.
- Atualize para a versão 2.8.0 ou posterior do Cloud Composer.
- Reduza o
[celery]worker_concurrency
e, em alternativa, aumente o número de trabalhadores do Airflow. - Reduza a quantidade de registos produzidos no código do DAG.
- Siga as recomendações e as práticas recomendadas para implementar DAGs e ativar as novas tentativas de tarefas.
Por vezes, a IU do Airflow pode não recarregar um plug-in depois de ser alterado
Se um plug-in consistir em muitos ficheiros que importam outros módulos, a IU do Airflow pode não conseguir reconhecer o facto de que um plug-in deve ser recarregado. Nesse caso, reinicie o servidor Web do Airflow do seu ambiente.
O cluster do ambiente tem cargas de trabalho no estado Unschedulable
Este problema conhecido aplica-se apenas ao Cloud Composer 2.
No Cloud Composer 2, depois de criar um ambiente, várias cargas de trabalho no cluster do ambiente permanecem no estado Unschedulable.
Quando um ambiente é dimensionado, são criados novos pods de trabalhadores e o Kubernetes tenta executá-los. Se não existirem recursos gratuitos disponíveis para os executar, os pods de trabalho são marcados como não agendáveis.
Nesta situação, o Cluster Autoscaler adiciona mais nós, o que demora alguns minutos. Até que esteja concluído, os pods permanecem no estado Unschedulable e não executam tarefas.
As cargas de trabalho DaemonSet não agendáveis denominadas composer-gcsfuse
e composer-fluentd
que não conseguem ser iniciadas em nós onde os componentes do Airflow não estão presentes não afetam o seu ambiente.
Se este problema persistir durante muito tempo (mais de 1 hora), pode verificar os registos do redimensionador automático de cluster. Pode encontrá-los no visualizador de registos com o seguinte filtro:
resource.type="k8s_cluster"
logName="projects/<project-name>/logs/container.googleapis.com%2Fcluster-autoscaler-visibility"
resource.labels.cluster_name="<cluster-name>"
Contém informações sobre as decisões tomadas pelo redimensionador automático de clusters: expanda qualquer noDecisionStatus para ver o motivo pelo qual não é possível aumentar ou diminuir a escala do cluster.
Erro 504 ao aceder à IU do Airflow
Pode receber o erro 504 Gateway Timeout
ao aceder à IU do Airflow. Este erro pode ter várias causas:
Problema de comunicação temporário. Neste caso, tente aceder à IU do Airflow mais tarde. Também pode reiniciar o servidor Web do Airflow.
(Apenas no Cloud Composer 3) Problema de conetividade. Se a IU do Airflow estiver permanentemente indisponível e forem gerados erros de tempo limite ou 504, certifique-se de que o seu ambiente consegue aceder a
*.composer.googleusercontent.com
.(Apenas no Cloud Composer 2) Problema de conetividade. Se a IU do Airflow estiver permanentemente indisponível e forem gerados erros de tempo limite ou 504, certifique-se de que o seu ambiente consegue aceder a
*.composer.cloud.google.com
. Se usar o acesso privado à Google e enviar tráfego através deprivate.googleapis.com
IPs virtuais, ou os VPC Service Controls e enviar tráfego através derestricted.googleapis.com
IPs virtuais, certifique-se de que o Cloud DNS também está configurado para*.composer.cloud.google.com
nomes de domínio.Servidor Web do Airflow sem resposta. Se o erro 504 persistir, mas ainda conseguir aceder à IU do Airflow em determinados momentos, o servidor Web do Airflow pode não estar a responder porque está sobrecarregado. Tente aumentar os parâmetros de escala e desempenho do servidor Web.
Erro 502 ao aceder à IU do Airflow
O erro 502 Internal server exception
indica que a IU do Airflow não consegue processar pedidos recebidos. Este erro pode ter várias causas:
Problema de comunicação temporário. Tente aceder à IU do Airflow mais tarde.
Falha ao iniciar o servidor Web. Para começar, o servidor Web requer que os ficheiros de configuração sejam sincronizados primeiro. Verifique se existem entradas de registo nos registos do servidor Web semelhantes a:
GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/airflow.cfg /home/airflow/gcs/airflow.cfg.tmp
ouGCS sync exited with 1: gcloud storage cp gs://<bucket-name>/env_var.json.cfg /home/airflow/gcs/env_var.json.tmp
. Se vir estes erros, verifique se os ficheiros mencionados nas mensagens de erro ainda estão presentes no contentor do ambiente.Em caso de remoção acidental (por exemplo, porque foi configurada uma política de retenção), pode restaurá-los:
Defina uma nova variável de ambiente no seu ambiente. Pode usar qualquer nome de variável e valor.
Substitua uma opção de configuração do Airflow. Pode usar uma opção de configuração do Airflow inexistente.
Passar o cursor do rato sobre a instância da tarefa na vista de árvore gera um TypeError não capturado
No Airflow 2, a vista de árvore na IU do Airflow pode, por vezes, não funcionar corretamente quando é usado um fuso horário não predefinido. Como alternativa para este problema, configure o fuso horário explicitamente na IU do Airflow.
A IU do Airflow no Airflow 2.2.3 ou versões anteriores é vulnerável a CVE-2021-45229
Conforme indicado em CVE-2021-45229,
o ecrã "Acionar DAG com configuração" era suscetível a ataques XSS
através do argumento de consulta origin
.
Recomendação: atualize para a versão mais recente do Cloud Composer que suporta o Airflow 2.2.5.
Os trabalhadores requerem mais memória do que nas versões anteriores do Airflow
Sintomas:
No seu ambiente do Cloud Composer 2, todas as cargas de trabalho do cluster do ambiente dos trabalhadores do Airflow estão no estado
CrashLoopBackOff
e não executam tarefas. Também pode verOOMKilling
avisos gerados se for afetado por este problema.Este problema pode impedir as atualizações do ambiente.
Causa:
- Se usar um valor personalizado para a opção de configuração do
[celery]worker_concurrency
Airflow e definições de memória personalizadas para os trabalhadores do Airflow, pode ter este problema quando o consumo de recursos se aproxima do limite. - Os requisitos de memória dos trabalhadores do Airflow no Airflow 2.6.3 com Python 3.11 são 10% superiores em comparação com os trabalhadores em versões anteriores.
- Os requisitos de memória do trabalhador do Airflow nas versões 2.3 e posteriores são 30% superiores em comparação com os trabalhadores no Airflow 2.2 ou no Airflow 2.1.
Soluções:
- Remova a substituição para
worker_concurrency
, para que o Cloud Composer calcule este valor automaticamente. - Se usar um valor personalizado para
worker_concurrency
, defina-o para um valor inferior. Pode usar o valor calculado automaticamente como ponto de partida. - Em alternativa, pode aumentar a quantidade de memória disponível para os trabalhadores do Airflow.
- Se não conseguir atualizar o seu ambiente para uma versão posterior devido a este problema, aplique uma das soluções propostas antes de fazer a atualização.
Acionamento de DAGs através de redes privadas com funções do Cloud Run
O acionamento de DAGs com funções do Cloud Run através de redes privadas com a utilização do conector da VPC não é suportado pelo Cloud Composer.
Recomendação: use funções do Cloud Run para publicar mensagens no Pub/Sub. Estes eventos podem acionar sensores do Pub/Sub para acionar DAGs do Airflow ou implementar uma abordagem baseada em operadores adiáveis.
Pastas vazias no Scheduler e nos trabalhadores
O Cloud Composer não remove ativamente pastas vazias dos workers e dos programadores do Airflow. Essas entidades podem ser criadas como resultado do processo de sincronização do contentor do ambiente quando estas pastas existiam no contentor e foram removidas posteriormente.
Recomendação: ajuste os DAGs para que estejam preparados para ignorar essas pastas vazias.
Essas entidades são removidas dos armazenamentos locais dos programadores e dos trabalhadores do Airflow quando estes componentes são reiniciados (por exemplo, como resultado da redução da escala ou das operações de manutenção no cluster do seu ambiente).
Suporte para Kerberos
O Cloud Composer não suporta a configuração do Kerberos do Airflow.
Compatibilidade com classes de computação no Cloud Composer 2 e no Cloud Composer 3
O Cloud Composer 3 e o Cloud Composer 2 suportam apenas a classe de computação de uso geral. Isto significa que não é possível executar Pods que solicitem outras classes de computação (como Balanced ou Scale-Out).
A classe de uso geral permite a execução de pods que pedem até 110 GB de memória e até 30 CPUs (conforme descrito em Pedidos máximos da classe de computação).
Se quiser usar a arquitetura baseada em ARM ou precisar de mais CPU e memória, tem de usar uma classe de computação diferente, que não é suportada nos clusters do Cloud Composer 3 e do Cloud Composer 2.
Recomendação: use GKEStartPodOperator
para executar pods do Kubernetes num cluster diferente que suporte a classe de computação selecionada. Se executar pods personalizados que exijam uma classe de computação diferente, estes também têm de ser executados num cluster que não seja do Cloud Composer.
Apoio técnico para operadores do Google Campaign Manager 360
Os operadores do Google Campaign Manager nas versões do Cloud Composer anteriores a 2.1.13 baseiam-se na API Campaign Manager 360 v3.5 que está descontinuada e cuja data de descontinuação é 1 de maio de 2023.
Se usar operadores do Google Campaign Manager, atualize o seu ambiente para a versão 2.1.13 ou posterior do Cloud Composer.
Apoio técnico para operadores do Google Display & Video 360
Os operadores do Google Display & Video 360 nas versões do Cloud Composer anteriores a 2.1.13 baseiam-se na API v1.1 do Display & Video 360, que está descontinuada e cuja data de descontinuação é 27 de abril de 2023.
Se usar operadores do Google Display & Video 360, atualize o seu ambiente para a versão 2.1.13 ou posterior do Cloud Composer. Além disso, pode ter de alterar os seus DAGs porque alguns dos operadores do Google Display & Video 360 estão descontinuados e foram substituídos por novos.
- A funcionalidade
GoogleDisplayVideo360CreateReportOperator
foi descontinuada. Em alternativa, useGoogleDisplayVideo360CreateQueryOperator
. Este operador devolvequery_id
em vez dereport_id
. - A funcionalidade
GoogleDisplayVideo360RunReportOperator
foi descontinuada. Em alternativa, useGoogleDisplayVideo360RunQueryOperator
. Este operador devolvequery_id
ereport_id
em vez de apenasreport_id
e requerquery_id
em vez dereport_id
como parâmetro. - Para verificar se um relatório está pronto, use o novo sensor
GoogleDisplayVideo360RunQuerySensor
que usa os parâmetrosquery_id
ereport_id
. O sensor descontinuadoGoogleDisplayVideo360ReportSensor
só precisava dereport_id
. - Agora, o
GoogleDisplayVideo360DownloadReportV2Operator
requer os parâmetrosquery_id
ereport_id
. - Em
GoogleDisplayVideo360DeleteReportOperator
, não existem alterações que possam afetar os seus DAGs.
Restrições de nome do intervalo secundário
CVE-2023-29247 (A página de detalhes da instância da tarefa na IU é vulnerável a um XSS armazenado)
A IU do Airflow nas versões do Airflow de 2.0.x a 2.5.x está vulnerável a CVE-2023-29247.
Se usar uma versão do Cloud Composer anterior à 2.4.2 e suspeitar que o seu ambiente pode ser vulnerável à exploração, leia a seguinte descrição e possíveis soluções.
No Cloud Composer, o acesso à IU do Airflow está protegido com a IAM e o controlo de acesso à IU do Airflow.
Isto significa que, para explorar a vulnerabilidade da IU do Airflow, os atacantes têm primeiro de obter acesso ao seu projeto, juntamente com as autorizações e as funções de IAM necessárias.
Solução:
Verifique as funções e as autorizações do IAM no seu projeto, incluindo as funções do Cloud Composer atribuídas a utilizadores individuais. Certifique-se de que apenas os utilizadores aprovados podem aceder à IU do Airflow.
Valide as funções atribuídas aos utilizadores através do mecanismo de controlo de acesso da IU do Airflow (este é um mecanismo separado que oferece um acesso mais detalhado à IU do Airflow). Certifique-se de que apenas os utilizadores aprovados podem aceder à IU do Airflow e que todos os novos utilizadores estão registados com uma função adequada.
Considere uma proteção adicional com os VPC Service Controls.
O DAG de monitorização do fluxo de ar do ambiente do Cloud Composer 2 Composer não é recriado após a eliminação
O DAG de monitorização do fluxo de ar não é recriado automaticamente se for eliminado pelo utilizador ou movido do contentor em ambientes com composer-2.1.4-airflow-2.4.3.
Solução:
- Este problema foi corrigido em versões posteriores, como composer-2.4.2-airflow-2.5.3. A abordagem sugerida é atualizar o seu ambiente para uma versão mais recente.
- Uma solução alternativa ou temporária para uma atualização do ambiente seria copiar o DAG airflow_monitoring de outro ambiente com a mesma versão.
Não é possível reduzir o armazenamento do Cloud SQL
O Cloud Composer usa o Cloud SQL para executar a base de dados do Airflow. Ao longo do tempo, o armazenamento em disco da instância do Cloud SQL pode aumentar porque o disco é dimensionado para se ajustar aos dados armazenados pelas operações do Cloud SQL quando a base de dados do Airflow aumenta.
Não é possível reduzir o tamanho do disco do Cloud SQL.
Como solução alternativa, se quiser usar o menor tamanho do disco do Cloud SQL, pode recriar ambientes do Cloud Composer com cópias instantâneas.
A métrica de utilização do disco da base de dados não diminui após a remoção de registos do Cloud SQL
As bases de dados relacionais, como o Postgres ou o MySQL, não removem fisicamente as linhas quando são eliminadas ou atualizadas. Em vez disso, marca-as como "tuplos mortos" para manter a consistência dos dados e evitar o bloqueio de transações simultâneas.
O MySQL e o Postgres implementam mecanismos de recuperação de espaço após a eliminação de registos.
Embora seja possível forçar a base de dados a recuperar espaço em disco não utilizado, esta é uma operação que consome muitos recursos e que, além disso, bloqueia a base de dados, tornando o Cloud Composer indisponível. Por isso, é recomendável usar os mecanismos de criação para reclamar o espaço não usado.
Acesso bloqueado: erro de autorização
Se este problema afetar um utilizador, a caixa de diálogo Acesso bloqueado: erro de autorização contém a mensagem Error 400: admin_policy_enforced
.
Se a opção Controlos de API > Apps de terceiros não configuradas > Não permitir que os utilizadores acedam a apps de terceiros estiver ativada no Google Workspace e a app Apache Airflow no Cloud Composer não estiver explicitamente permitida, os utilizadores não podem aceder à IU do Airflow, a menos que permitam explicitamente a aplicação.
Para permitir o acesso, siga os passos indicados no artigo Permita o acesso à IU do Airflow no Google Workspace.
Repetição de início de sessão ao aceder à IU do Airflow
Este problema pode ter as seguintes causas:
Se as associações de acesso sensível ao contexto do Chrome Enterprise Premium forem usadas com níveis de acesso que dependem de atributos do dispositivo e a app Apache Airflow no Cloud Composer não for isenta, não é possível aceder à IU do Airflow devido a um ciclo de início de sessão. Para permitir o acesso, siga os passos indicados no artigo Permita o acesso à IU do Airflow em associações do Acesso sensível ao contexto.
Se as regras de entrada estiverem configuradas num perímetro dos VPC Service Controls que protege o projeto, e a regra de entrada que permite o acesso ao serviço Cloud Composer usar o tipo de identidade
ANY_SERVICE_ACCOUNT
ouANY_USER_ACCOUNT
, os utilizadores não podem aceder à IU do Airflow, acabando por entrar num ciclo de início de sessão. Para mais informações sobre como resolver este cenário, consulte o artigo Permita o acesso à IU do Airflow nas regras de entrada do VPC Service Controls.
As instâncias de tarefas que tiveram êxito no passado foram marcadas como COM FALHA
Em algumas circunstâncias e cenários raros, as instâncias de tarefas do Airflow que tiveram êxito no passado podem ser marcadas como FAILED
.
Se acontecer, normalmente, foi acionado por uma atualização do ambiente ou uma operação de atualização, ou pela manutenção do GKE.
Nota: o problema em si não indica nenhum problema no ambiente e não causa falhas reais na execução de tarefas.
O problema foi corrigido na versão 2.6.5 ou posterior do Cloud Composer.
Os componentes do Airflow têm problemas ao comunicar com outras partes da configuração do Cloud Composer
Este problema aplica-se apenas às versões 2.10.2 e anteriores do Cloud Composer 2.
Em casos muito raros, a lentidão da comunicação com o servidor de metadados do Compute Engine pode fazer com que os componentes do Airflow não funcionem de forma ideal. Por exemplo, o programador do Airflow pode ser reiniciado, as tarefas do Airflow podem ter de ser repetidas ou o tempo de início das tarefas pode ser mais longo.
Sintomas:
Os seguintes erros aparecem nos registos dos componentes do Airflow (como os programadores, os trabalhadores ou o servidor Web do Airflow):
Authentication failed using Compute Engine authentication due to unavailable metadata server
Compute Engine Metadata server unavailable on attempt 1 of 3. Reason: timed out
...
Compute Engine Metadata server unavailable on attempt 2 of 3. Reason: timed out
...
Compute Engine Metadata server unavailable on attempt 3 of 3. Reason: timed out
Solução:
(Recomendado) Atualize o seu ambiente para uma versão posterior do Cloud Composer. Este problema foi corrigido a partir da versão 2.11.0 do Cloud Composer.
Como solução alternativa temporária, pode definir a seguinte variável de ambiente:
GCE_METADATA_TIMEOUT=30
. Certifique-se de que remove esta definição quando quiser atualizar o seu ambiente.
A pasta /data não está disponível no servidor Web do Airflow
No Cloud Composer 2 e no Cloud Composer 3, o servidor Web do Airflow destina-se a ser um componente maioritariamente só de leitura, e o Cloud Composer não sincroniza a pasta data/
com este componente.
Por vezes, pode querer partilhar ficheiros comuns entre todos os componentes do Airflow, incluindo o servidor Web do Airflow.
Solução:
Inclua os ficheiros a partilhar com o servidor Web num módulo PYPI e instale-o como um pacote PYPI normal. Depois de o módulo PYPI ser instalado no ambiente, os ficheiros são adicionados às imagens dos componentes do Airflow e ficam disponíveis para estes.
Adicione ficheiros à pasta
plugins/
. Esta pasta está sincronizada com o servidor Web do Airflow.
Tempos de análise de DAGs não contínuos e diagramas de tamanho do contentor de DAGs na monitorização
Os tempos de análise de DAG não contínuos e os diagramas de tamanho do contentor de DAG no painel de controlo de monitorização indicam problemas com tempos de análise de DAG longos (mais de 5 minutos).

Solução: Recomendamos que mantenha o tempo de análise do DAG total abaixo de 5 minutos. Para reduzir o tempo de análise de DAG, siga as diretrizes de escrita de DAG.
Os registos dos componentes do Cloud Composer estão em falta no Cloud Logging
Existe um problema no componente do ambiente responsável pelo carregamento dos registos dos componentes do Airflow para o Cloud Logging. Por vezes, este erro leva a uma situação em que o registo ao nível do Cloud Composer pode estar em falta para um componente do Airflow. O mesmo registo continua disponível ao nível do componente do Kubernetes.
Ocorrência do problema: muito rara, esporádica
Causa:
Comportamento incorreto do componente do Cloud Composer responsável pelo carregamento de registos para o Cloud Logging.
Soluções:
Atualize o seu ambiente para a versão 2.10.0 ou posterior do Cloud Composer.
Nas versões anteriores do Cloud Composer, a solução alternativa temporária quando se depara com esta situação é iniciar uma operação do Cloud Composer que reinicia os componentes para os quais o registo está em falta.
A mudança do cluster do ambiente para o GKE Enterprise Edition não é suportada
Esta nota aplica-se ao Cloud Composer 1 e ao Cloud Composer 2.
O cluster do GKE do ambiente do Cloud Composer é criado na GKE Standard Edition.
A partir de dezembro de 2024, o serviço Cloud Composer não suporta a criação de ambientes do Cloud Composer com clusters na Enterprise Edition.
Os ambientes do Cloud Composer não foram testados com o GKE Enterprise Edition e têm um modelo de faturação diferente.
A comunicação adicional relacionada com a edição Standard do GKE em comparação com a edição Enterprise será feita no 2.º trimestre de 2025.
Os componentes do Airflow têm problemas ao comunicar com outras partes da configuração do Cloud Composer
Em alguns casos, devido a uma resolução de DNS com falha, os componentes do Airflow podem ter problemas ao comunicar com outros componentes do Cloud Composer ou pontos finais de serviço fora do ambiente do Cloud Composer.
Sintomas:
Os seguintes erros podem aparecer nos registos dos componentes do Airflow (como os programadores, os trabalhadores ou o servidor Web do Airflow):
google.api_core.exceptions.ServiceUnavailable: 503 DNS resolution failed ...
... Timeout while contacting DNS servers
ou
Could not access *.googleapis.com: HTTPSConnectionPool(host='www.googleapis.com', port=443): Max retries exceeded with url: / (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7c5ef5adba90>: Failed to resolve 'www.googleapis.com' ([Errno -3] Temporary failure in name resolution)"))
ou
redis.exceptions.ConnectionError: Error -3 connecting to
airflow-redis-service.composer-system.svc.cluster.local:6379.
Temporary failure in name resolution.
Possíveis soluções:
Atualize para o Cloud Composer 2.9.11 ou
Defina a seguinte variável de ambiente:
GCE_METADATA_HOST=169.254.169.254
.
O ambiente está no estado ERROR depois de a conta de faturação do projeto ter sido eliminada ou desativada, ou a API Cloud Composer ter sido desativada
Os ambientes do Cloud Composer afetados por estes problemas são irrecuperáveis:
- Depois de a conta de faturação do projeto ter sido eliminada ou desativada, mesmo que outra conta tenha sido associada posteriormente.
- Depois de a API Cloud Composer ter sido desativada no projeto, mesmo que tenha sido ativada posteriormente.
Pode fazer o seguinte para resolver o problema:
Continua a poder aceder aos dados armazenados nos contentores do seu ambiente, mas os próprios ambientes já não são utilizáveis. Pode criar um novo ambiente do Cloud Composer e, em seguida, transferir os seus DAGs e dados.
Se quiser realizar qualquer uma das operações que tornam os seus ambientes não recuperáveis, certifique-se de que faz uma cópia de segurança dos seus dados, por exemplo, criando uma captura instantânea de um ambiente. Desta forma, pode criar outro ambiente e transferir os respetivos dados carregando esta imagem instantânea.
Avisos sobre o orçamento de interrupção de agrupamentos para clusters de ambiente
Pode ver os seguintes avisos na IU do GKE para clusters do ambiente do Cloud Composer:
GKE can't perform maintenance because the Pod Disruption Budget allows
for 0 Pod evictions. Update the Pod Disruption Budget.
A StatefulSet is configured with a Pod Disruption Budget but without readiness
probes, so the Pod Disruption Budget isn't as effective in gauging application
readiness. Add one or more readiness probes.
Não é possível eliminar estes avisos. Trabalhamos para impedir a geração destas advertências.
Possíveis soluções:
- Ignorar estes avisos até o problema ser corrigido.
Não é possível remover o valor de um campo numa associação do Airflow
Causa:
A interface do utilizador do Apache Airflow tem uma limitação que impede a atualização dos campos de ligação para valores vazios. Quando tenta fazê-lo, o sistema reverte para as definições guardadas anteriormente.
Possíveis soluções:
Embora a versão 2.10.4 do Apache Airflow inclua uma correção permanente, existe uma solução alternativa temporária para os utilizadores de versões anteriores. Isto envolve eliminar a associação e, em seguida, recriá-la, deixando especificamente os campos obrigatórios vazios. A interface de linha de comandos é a abordagem recomendada para eliminar a associação:
gcloud composer environments run ENVIRONMENT_NAME \
--location LOCATION \
connections delete -- \
CONNECTION_ID
Depois de eliminar a associação, recrie-a através da IU do Airflow, garantindo que os campos que pretende deixar vazios ficam efetivamente em branco. Também pode criar a ligação executando o comando da CLI do Airflow connections add
com a CLI do Google Cloud.
Os registos das tarefas do Airflow não são recolhidos se [core]execute_tasks_new_python_interpreter estiver definido como True
O Cloud Composer não recolhe registos de tarefas do Airflow se a opção de configuração do Airflow estiver definida como True
.[core]execute_tasks_new_python_interpreter
Possível solução:
- Remova a substituição desta opção de configuração ou defina o valor como
False
.
O que se segue?
- Resolução de problemas de criação do ambiente
- Resolução de problemas de DAGs
- Resolução de problemas do agendador do Airflow