Automation Suite
2022.4
falso
Pods de MongoDB em CrashLoopBackOff ou provisionamento de PVC pendente após exclusão - Automation Suite 2022.4
Imagem de fundo do banner
Logotipo
Guia de instalação do Automation Suite
Última atualização 12 de fev 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
Ícone de suporte e serviços
Obtenha a ajuda que você precisa
Ícone do UiPath Academy
Aprendendo RPA - Cursos de automação
Ícone do Fórum do UiPath
Fórum da comunidade da Uipath
Logotipo branco da Uipath
Confiança e segurança
© 2005-2024 UiPath. All rights reserved.