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
A IU do Airflow não mostra os registos de tarefas quando a serialização de DAGs está ativada no Composer 1.10.2 e no Composer 1.10.3
A ativação da serialização de DAGs em ambientes que usam as versões 1.10.2 e 1.10.3 do Composer impede a apresentação de registos no servidor Web do Airflow. Atualize para a versão 1.10.4 (ou posterior) para corrigir este problema.
Falha intermitente de tarefas durante o agendamento no Cloud Composer
O problema é visto no programador do Airflow para a instância da tarefa durante a execução de uma tarefa. No entanto, os registos não explicam a causa da falha da tarefa, e o trabalhador do Airflow e o programador do Airflow pareciam relativamente saudáveis.
A mensagem de erro no programador do Airflow pode ter o seguinte aspeto:
Executor reports task instance <TaskInstance: xx.xxxx
scheduled__2022-04-21T06:00:00+00:00 [queued]> finished (failed) although the
task says its queued. (Info: None) Was the task killed externally?
Em alternativa, pode existir um erro no Airflow Worker semelhante à seguinte mensagem de erro:
Log file is not found: gs://$BUCKET_NAME/logs/$DAG_NAME/$TASK_NAME/
2023-01-25T05:01:17.044759+00:00/1.log.
The task might not have been executed or worker executing it might have
finished abnormally (e.g. was evicted).
Para garantir a robustez contra estes erros decorrentes de um problema antigo no Airflow, é fortemente recomendado implementar proativamente estratégias de repetição adequadas ao nível da tarefa e do DAG. Ao incorporar estas medidas, o sistema pode mitigar eficazmente o impacto destes erros, melhorando assim a fiabilidade e a resiliência gerais do fluxo de trabalho.
A federação de identidade da carga de trabalho do GKE para o GKE não é suportada
No Cloud Composer 1, não pode ativar a
federação de identidade da carga de trabalho para o GKE para
clusters de ambiente do Cloud Composer. Como resultado, pode ver a deteção WORKLOAD_IDENTITY_DISABLED
no Security Command Center.
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.
Os registos de tarefas do Airflow não estão disponíveis no servidor Web do Airflow após a atualização do Airflow 1.9.0 para o Airflow 1.10.x
O Airflow 1.10.x introduziu alterações incompatíveis com versões anteriores à convenção de nomenclatura para ficheiros de registo. As informações de zona são agora adicionadas aos nomes dos registos para tarefas do Airflow.
O Airflow 1.9.0 armazena e espera que os nomes dos registos estejam no seguinte formato:
BUCKET/logs/DAG/2020-03-30T10:29:06/1.log
O Airflow 1.10.x armazena e espera que os nomes dos registos estejam no seguinte formato:
BUCKET/logs/DAG/2020-03-30T10:29:06+00:00/1.log
Como resultado, se atualizar do Airflow 1.9.0 para o Airflow 1.10.x
e quiser ler o registo de uma tarefa executada com o Airflow 1.9.0,
o servidor Web do Airflow apresenta a seguinte mensagem de erro:
Unable to read remote log from BUCKET/logs/DAG/2020-03-30T10:29:06+00:00/1.log
Solução alternativa: mude o nome dos registos gerados pelo Airflow 1.9.0 no contentor do Cloud Storage com o seguinte formato:
BUCKET/logs/DAG/2020-03-30T10:29:06+00:00/1.log
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 de ambientes do Cloud Composer 1 falha quando a política compute.requireOsLogin está ativada
Se a política compute.requireOsLogin
estiver definida como true
no seu projeto, as operações de criação do ambiente v1 do Cloud Composer 1 falham.
Para criar ambientes do Cloud Composer 1, desative esta política no seu projeto.
Para mais informações acerca desta política organizacional, consulte as restrições da política organizacional.
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 criação do ambiente do Cloud Composer 1 falha quando a política compute.vmCanIpForward está desativada
Os ambientes do Cloud Composer 1 criados no modo não nativo da VPC (com IP de alias) requerem esta política para permitir a criação de VMs com a funcionalidade de encaminhamento de IP ativada. Para mais informações acerca desta política organizacional, consulte as restrições da política organizacional.
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.
Para mitigar este problema no Airflow 1, substitua a opção de configuração do Airflow e defina-a para um número superior ou igual a 2
.[core]default_task_retries
A tarefa falha com "OSError: [Errno 5] Input/output error" no Airflow 1.10.15 ou versões anteriores
Um erro nas versões do Airflow 1 faz com que as tarefas sejam colocadas na fila de tarefas do ambiente duas vezes em alguns casos raros.
Por vezes, pode levar a uma condição de corrida no ficheiro de registo e a uma falha de tarefa subsequente. As tarefas falham com OSError: [Errno 5] Input/output error
no Cloud Logging e Task is in the 'running' state which is not a valid state for execution.
no registo de tentativas de tarefas.
Este erro foi corrigido no Airflow 2. Se encontrar este problema no Airflow 1
numa tarefa de execução prolongada,
aumente o valor
da opção de configuração do [celery_broker_transport_options]visibility_timeout
Airflow (o valor predefinido é 604800
para o Composer 1.17.0 e 21600
para ambientes mais antigos). Para tarefas de curta duração, considere adicionar mais tentativas às tarefas afetadas ou migrar o seu ambiente para o Airflow 2.
Os operadores do Dataproc e do Dataflow falham com Negsignal.SIGSEGV
Este é um problema intermitente da biblioteca grcpio
, quando usada a partir de um worker do Celery. Este problema afeta o Airflow 1.10.14 e versões posteriores.
A solução alternativa consiste em alterar a grpcio
estratégia de sondagem adicionando a seguinte variável de ambiente ao seu ambiente: GRPC_POLL_STRATEGY=epoll1
. Esta solução alternativa já está
aplicada no Cloud Composer 1.17.1 e versões posteriores.
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.
Problemas intermitentes ao comunicar com a base de dados do ambiente
Este problema conhecido aplica-se apenas ao Cloud Composer 1.
Alguns ambientes do Cloud Composer 1 (1.16.3 ou anterior) criados antes de 12 de agosto de 2021 podem ter problemas transitórios relacionados com a comunicação com a base de dados do Airflow.
Se tiver este problema, nos registos das tarefas do Airflow, é apresentada a seguinte mensagem de erro:
"Can't connect to MySQL server on 'airflow-sqlproxy-service.default.svc.cluster.local' (104)"
A equipa do Cloud Composer está a trabalhar na resolução deste problema. Entretanto, se considerar que está a ser muito afetado por este problema, pode fazer o seguinte para o mitigar:
Na Google Cloud consola, aceda à página Configuração do ambiente dos ambientes do Cloud Composer afetados.
Siga o link ver detalhes do cluster para navegar para o cluster do GKE subjacente do ambiente.
Navegue para o separador Nodes e clique em default-pool visível na secção Node Pools.
Figura 1. default-pool na lista de pools de nós (clique para aumentar) Clique em Editar na parte superior da página.
Altere o tipo de imagem para SO otimizado para contentores com o containerd e guarde a configuração:
Figura 2. Altere o tipo de imagem do node pool de Docker para containerd (clique para aumentar) Depois de enviar a alteração, o conjunto de nós default-pool vai ser reconfigurado para usar o containerd como o respetivo tempo de execução do contentor. Algumas das suas tarefas do Airflow podem falhar enquanto o conjunto de nós está a ser reconfigurado. Se essas tarefas tiverem repetições configuradas, o Airflow volta a executá-las assim que a operação no conjunto de nós estiver concluída.
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.
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.
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.
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.
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.
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.
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.
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.
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