automation-suite
2023.4
false
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.
UiPath logo, featuring letters U and I in white

Guía de instalación de Automation Suite en Linux

Última actualización 19 de dic. de 2024

Fallo de la sonda Redis

Descripción

La sonda Redis puede fallar si el archivo de ID de nodo no existe. Esto puede ocurrir si el pod no está todavía en fase de arranque.

Hay un trabajo de recuperación que soluciona automáticamente este problema, y los siguientes pasos no deben realizarse mientras el trabajo se está ejecutando.

Cuando un clúster de Redis Enterprise pierde el contacto con más de la mitad de sus nodos (ya sea debido a nodos fallidos o a la división de la red), el clúster deja de responder a las conexiones de los clientes. Los pods tampoco se vuelven a unir con el clúster.

Solución

  1. Deshabilita la sincronización de argo, elimina la base de datos de Redis y el recurso del clúster de Redis, vuelve a habilitar la sincronización de argo y luego inicia un trabajo de recuperación, utilizando los siguientes comandos:

    kubectl -n argocd patch application fabric-installer --type=json -p '[{"op":"replace","path":"/spec/syncPolicy/automated/selfHeal","value":false}]'
    kubectl -n argocd patch application redis-cluster --type=json -p '[{"op":"replace","path":"/spec/syncPolicy/automated/selfHeal","value":false}]'
    kubectl -n argocd patch application redis-operator --type=json -p '[{"op":"replace","path":"/spec/syncPolicy/automated/selfHeal","value":false}]'
    kubectl delete redb -n redis-system redis-cluster-db --force --grace-period=0 &
    kubectl delete rec -n redis-system redis-cluster --force --grace-period=0 &
    kubectl patch redb -n redis-system redis-cluster-db --type=json -p '[{"op":"remove","path":"/metadata/finalizers","value":"finalizer.redisenterprisedatabases.app.redislabs.com"}]'
    kubectl patch rec redis-cluster -n redis-system --type=json -p '[{"op":"remove","path":"/metadata/finalizers","value":"redbfinalizer.redisenterpriseclusters.app.redislabs.com"}]'
    kubectl -n redis-system get pods | grep services-rigger | awk '{print $1}' | xargs kubectl -n redis-system delete pod --force
    kubectl -n redis-system get pods | grep -E "redis-cluster-[0-2]" | awk '{print $1}' | xargs kubectl -n redis-system delete pod --force
    kubectl -n argocd patch application fabric-installer --type=json -p '[{"op":"replace","path":"/spec/syncPolicy/automated/selfHeal","value":true}]'
    kubectl -n argocd patch application redis-cluster --type=json -p '[{"op":"replace","path":"/spec/syncPolicy/automated/selfHeal","value":true}]'
    kubectl -n argocd patch application redis-operator --type=json -p '[{"op":"replace","path":"/spec/syncPolicy/automated/selfHeal","value":true}]'
    kubectl -n redis-system create job --from=cronjob/redis-cluster-recovery-job cronjob-manual-runkubectl -n argocd patch application fabric-installer --type=json -p '[{"op":"replace","path":"/spec/syncPolicy/automated/selfHeal","value":false}]'
    kubectl -n argocd patch application redis-cluster --type=json -p '[{"op":"replace","path":"/spec/syncPolicy/automated/selfHeal","value":false}]'
    kubectl -n argocd patch application redis-operator --type=json -p '[{"op":"replace","path":"/spec/syncPolicy/automated/selfHeal","value":false}]'
    kubectl delete redb -n redis-system redis-cluster-db --force --grace-period=0 &
    kubectl delete rec -n redis-system redis-cluster --force --grace-period=0 &
    kubectl patch redb -n redis-system redis-cluster-db --type=json -p '[{"op":"remove","path":"/metadata/finalizers","value":"finalizer.redisenterprisedatabases.app.redislabs.com"}]'
    kubectl patch rec redis-cluster -n redis-system --type=json -p '[{"op":"remove","path":"/metadata/finalizers","value":"redbfinalizer.redisenterpriseclusters.app.redislabs.com"}]'
    kubectl -n redis-system get pods | grep services-rigger | awk '{print $1}' | xargs kubectl -n redis-system delete pod --force
    kubectl -n redis-system get pods | grep -E "redis-cluster-[0-2]" | awk '{print $1}' | xargs kubectl -n redis-system delete pod --force
    kubectl -n argocd patch application fabric-installer --type=json -p '[{"op":"replace","path":"/spec/syncPolicy/automated/selfHeal","value":true}]'
    kubectl -n argocd patch application redis-cluster --type=json -p '[{"op":"replace","path":"/spec/syncPolicy/automated/selfHeal","value":true}]'
    kubectl -n argocd patch application redis-operator --type=json -p '[{"op":"replace","path":"/spec/syncPolicy/automated/selfHeal","value":true}]'
    kubectl -n redis-system create job --from=cronjob/redis-cluster-recovery-job cronjob-manual-run 
  2. Si el error persiste, comprueba si hay un sesgo de reloj entre los nodos de Kubernetes. Si cualquier nodo está incluso unos pocos segundos por delante o por detrás, el pod de Redis no podrá ejecutarse en él. Para solucionarlo, debe asegurarse de que todos los nodos tengan los tiempos sincronizados.

  • Descripción
  • Solución

¿Te ha resultado útil esta página?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Uipath Logo White
Confianza y seguridad
© 2005-2024 UiPath. Todos los derechos reservados.