1
resposta

Erro no upgrade --install helm

log: helm upgrade --install airflow apache-airflow/airflow --namespace airflow -f override-values.yml --debug

history.go:56: [debug] getting history for release airflow
upgrade.go:153: [debug] preparing upgrade for airflow
upgrade.go:161: [debug] performing update for airflow
upgrade.go:354: [debug] creating upgraded release for airflow
client.go:393: [debug] checking 26 resources for changes
client.go:684: [debug] Looks like there are no changes for ServiceAccount "airflow-create-user-job"
client.go:684: [debug] Looks like there are no changes for ServiceAccount "airflow-migrate-database-job"
client.go:684: [debug] Looks like there are no changes for ServiceAccount "airflow-scheduler"
client.go:684: [debug] Looks like there are no changes for ServiceAccount "airflow-statsd"
client.go:684: [debug] Looks like there are no changes for ServiceAccount "airflow-triggerer"
client.go:684: [debug] Looks like there are no changes for ServiceAccount "airflow-webserver"
client.go:684: [debug] Looks like there are no changes for ServiceAccount "airflow-worker"
client.go:684: [debug] Looks like there are no changes for Secret "airflow-postgresql"
client.go:684: [debug] Looks like there are no changes for Secret "airflow-metadata"
client.go:693: [debug] Patch Secret "airflow-webserver-secret-key" in namespace airflow
client.go:684: [debug] Looks like there are no changes for ConfigMap "airflow-config"
client.go:684: [debug] Looks like there are no changes for ConfigMap "airflow-statsd"
client.go:684: [debug] Looks like there are no changes for Role "airflow-pod-launcher-role"
client.go:684: [debug] Looks like there are no changes for Role "airflow-pod-log-reader-role"
client.go:684: [debug] Looks like there are no changes for RoleBinding "airflow-pod-launcher-rolebinding"
client.go:684: [debug] Looks like there are no changes for RoleBinding "airflow-pod-log-reader-rolebinding"
client.go:684: [debug] Looks like there are no changes for Service "airflow-postgresql-hl"
client.go:693: [debug] Patch Service "airflow-postgresql" in namespace airflow
client.go:684: [debug] Looks like there are no changes for Service "airflow-statsd"
client.go:684: [debug] Looks like there are no changes for Service "airflow-triggerer"
client.go:684: [debug] Looks like there are no changes for Service "airflow-webserver"
client.go:693: [debug] Patch Deployment "airflow-scheduler" in namespace airflow
client.go:693: [debug] Patch Deployment "airflow-statsd" in namespace airflow
client.go:693: [debug] Patch Deployment "airflow-webserver" in namespace airflow
client.go:693: [debug] Patch StatefulSet "airflow-postgresql" in namespace airflow
client.go:693: [debug] Patch StatefulSet "airflow-triggerer" in namespace airflow
client.go:486: [debug] Starting delete for "airflow-run-airflow-migrations" Job
client.go:490: [debug] Ignoring delete failure for "airflow-run-airflow-migrations" batch/v1, Kind=Job: jobs.batch "airflow-run-airflow-migrations" not found
client.go:142: [debug] creating 1 resource(s)
client.go:712: [debug] Watching for changes to Job airflow-run-airflow-migrations with timeout of 5m0s
client.go:740: [debug] Add/Modify event for airflow-run-airflow-migrations: ADDED
client.go:779: [debug] airflow-run-airflow-migrations: Jobs active: 0, jobs failed: 0, jobs succeeded: 0
client.go:740: [debug] Add/Modify event for airflow-run-airflow-migrations: MODIFIED
client.go:779: [debug] airflow-run-airflow-migrations: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
client.go:740: [debug] Add/Modify event for airflow-run-airflow-migrations: MODIFIED
client.go:779: [debug] airflow-run-airflow-migrations: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
client.go:740: [debug] Add/Modify event for airflow-run-airflow-migrations: MODIFIED
client.go:779: [debug] airflow-run-airflow-migrations: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
client.go:740: [debug] Add/Modify event for airflow-run-airflow-migrations: MODIFIED
client.go:779: [debug] airflow-run-airflow-migrations: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
client.go:740: [debug] Add/Modify event for airflow-run-airflow-migrations: MODIFIED
client.go:779: [debug] airflow-run-airflow-migrations: Jobs active: 1, jobs failed: 0, jobs succeeded: 0
^CRelease airflow has been cancelled.
upgrade.go:466: [debug] warning: Upgrade "airflow" failed: context canceled
Error: UPGRADE FAILED: context canceled
helm.go:84: [debug] context canceled
UPGRADE FAILED
main.newUpgradeCmd.func2
    helm.sh/helm/v3/cmd/helm/upgrade.go:229
github.com/spf13/cobra.(*Command).execute
    github.com/spf13/cobra@v1.7.0/command.go:940
github.com/spf13/cobra.(*Command).ExecuteC
    github.com/spf13/cobra@v1.7.0/command.go:1068
github.com/spf13/cobra.(*Command).Execute
    github.com/spf13/cobra@v1.7.0/command.go:992
main.main
    helm.sh/helm/v3/cmd/helm/helm.go:83
runtime.main
    runtime/proc.go:250
runtime.goexit
    runtime/asm_amd64.s:1598
1 resposta

Olá Lucas

  1. Verificação de Pré-Requisitos: Primeiramente, assegure-se de que todos os pré-requisitos para a execução do Airflow no Kubernetes tenham sido atendidos. Certifique-se de que o Kubernetes esteja configurado corretamente e que o Helm esteja devidamente instalado e configurado.

  2. Verificação do Comando helm upgrade: O comando que você está executando parece correto na maioria das partes. No entanto, é importante verificar se você está usando os valores corretos para o namespace e o arquivo de substituição (override-values.yml). Verifique se esses arquivos e diretórios existem e estão acessíveis. É importante garantir que o arquivo de valores de substituição (override-values.yml) seja válido e esteja de acordo com o esperado pelo seu release do Helm.

  3. Debugging com --debug: O uso do --debug pode ser útil para depurar problemas, mas também pode fornecer uma grande quantidade de informações. No seu caso, parece que o erro ocorre após um período de execução. Verifique o log de depuração e procure por detalhes específicos sobre o erro, que podem não ter sido mostrados na saída que você compartilhou.

  4. Timeouts e Cancelamento de Contexto: O erro "context canceled" geralmente está relacionado a timeouts ou cancelamentos durante a execução do comando. É possível que a atualização esteja demorando mais do que o esperado e acabe sendo cancelada automaticamente. Verifique a configuração do Kubernetes, como limites de recursos (CPU, memória) para os pods do Airflow, pois isso pode afetar o tempo necessário para a atualização.

  5. Possível Solução de Timeout: Se o problema for relacionado a timeouts, você pode tentar aumentar o timeout para evitar o cancelamento do contexto. Isso pode ser feito usando a opção --timeout no comando helm upgrade. Por exemplo:

    helm upgrade --install airflow apache-airflow/airflow --namespace airflow -f override-values.yml --timeout 10m
    

    O exemplo acima define um timeout de 10 minutos (você pode ajustar conforme necessário). Isso pode ajudar a concluir a atualização antes que seja cancelada automaticamente.

  6. Verifique Eventuais Conflitos: Certifique-se de que não existam outras atualizações ou ações em andamento no cluster Kubernetes que possam interferir na atualização do Airflow. Isso inclui a verificação de outros pods em execução que podem afetar o processo de atualização.

  7. Recursos Kubernetes: O log exibido mostra que vários recursos Kubernetes estão sendo verificados, e alguns estão sendo patcheados. Verifique se esses recursos estão definidos corretamente e se não há conflitos no cluster que possam afetar o processo de atualização. Certifique-se de que os recursos (pods, serviços, configmaps, etc.) estão no estado esperado.

  8. Logs Detalhados: Caso o erro persista, é importante verificar os logs dos pods relacionados ao Airflow no namespace airflow. Os logs dos pods podem fornecer informações mais detalhadas sobre o que está acontecendo. Use o comando kubectl logs para acessar os logs de pods específicos e verifique se há informações de erro adicionais.

  9. Verificação da Configuração do Airflow: Verifique se a configuração do Airflow no arquivo override-values.yml está correta e não contém valores que possam causar problemas durante a atualização. Certifique-se de que todas as dependências, como imagens de contêiner, estão disponíveis e acessíveis.

  10. Consulte a Documentação: Sempre consulte a documentação oficial do Apache Airflow e do Helm para obter informações detalhadas sobre a instalação e atualização do Airflow no Kubernetes. Pode haver informações específicas e soluções para problemas comuns.