Automation Suite
2023.10
falso
Imagem de fundo do banner
Guia de instalação do Automation Suite no Linux
Última atualização 19 de abr de 2024

Pods de MongoDB em CrashLoopBackOff ou provisionamento de PVC pendente após exclusão

Os pods do MongoDB podem ficar presos em um loop de cashback devido a um PVC corrompido. A causa mais provável para esse problema é um desligamento sem limpeza.

Ao enfrentar esse problema, os logs mostram o seguinte:

Common point must be at least stable timestamp
{"t":{"$date":"2022-05-18T09:37:55.053+00:00"},"s":"W",  "c":"STORAGE",  "id":22271,   "ctx":"initandlisten","msg":"Detected unclean shutdown - Lock file is not empty","attr":{"lockFile":"/data/mongod.lock"}}
    ['currentState.Running' = false]
    ['currentState.IsVCRedistCorrect' = true]
    ['desiredState.ProcessType' != mongos ('desiredState.ProcessType' = mongod)]Common point must be at least stable timestamp
{"t":{"$date":"2022-05-18T09:37:55.053+00:00"},"s":"W",  "c":"STORAGE",  "id":22271,   "ctx":"initandlisten","msg":"Detected unclean shutdown - Lock file is not empty","attr":{"lockFile":"/data/mongod.lock"}}
    ['currentState.Running' = false]
    ['currentState.IsVCRedistCorrect' = true]
    ['desiredState.ProcessType' != mongos ('desiredState.ProcessType' = mongod)]

Etapas de recuperação

  1. Exclua o pod com falha. Se esta solução não funcionar, continue nas próximas etapas.

    kubectl delete pod <pod-name> -n mongodbkubectl delete pod <pod-name> -n mongodb
  2. Obtenha o nome do PVC corrompido para os pods com falha.
    kubectl -n mongodb get pvckubectl -n mongodb get pvc
  3. Exclua o PVC do pod com falha.

    kubectl -n mongodb delete pvc <pvc-name>kubectl -n mongodb delete pvc <pvc-name>
    Observação: neste ponto, o PVC deve ser sincronizado automaticamente e o pod não deve ter mais problemas. Se o provisionamento automático não acontecer, você precisará executar a operação manualmente seguindo as etapas a seguir.
  4. Obtenha o PVC YAML para um nó íntegro.

    kubectl -n mongodb get pvc <pvc-name> -o yaml > pvc.yamlkubectl -n mongodb get pvc <pvc-name> -o yaml > pvc.yaml
  5. Edite o nome e remova uuids/pvc-ids do YAML.
  6. Remova o nome do volume e o UID e renomeie o PVC para o nome do PVC excluído.



  7. Aplique o PVC.

    kubectl -n mongodb apply pvc.yamlkubectl -n mongodb apply pvc.yaml
  8. O PVC deve ser provisionado e anexado ao PVC para o pod, e o pod não deve mais ter problemas. Se o pod não ressincronizar, exclua-o.
  • Etapas de recuperação

Was this page helpful?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Logotipo branco da Uipath
Confiança e segurança
© 2005-2024 UiPath. All rights reserved.