PowerFlex: Cómo eliminar el consumidor huérfano de NATS sdnas-gw
Resumen: En este artículo, se explica cómo eliminar el consumidor huérfano de NATS sdnas-gw
Instrucciones
Paso 0: Tome una instantánea de VMware de los 3 MVM antes de realizar cambios.
Paso 1: Verifique que el consumidor huérfano exista:
kubectl exec -it -n powerflex $(kubectl get pods -n powerflex | grep -i "nats-server-box" | awk '{print $1}') -- nats consumer report pfxm-events
Confirme que sdnas-gw aparezca con un conteo pendiente alto. Si no aparece en la lista, este es un problema diferente: deténgase e investigue.
Paso 2: Quite el consumidor sdnas-gw huérfano:
kubectl exec -it -n powerflex $(kubectl get pods -n powerflex | grep -i "nats-server-box" | awk '{print $1}') -- nats consumer rm pfxm-events sdnas-gw
Si esto se realiza correctamente, vaya al paso 3.
Si falla (los mensajes pendientes pueden bloquear la eliminación), continúe con el paso 2a.
Paso 2a: Forzar eliminación (solo si falló el paso 2):
En primer lugar, elimine el recurso personalizado del consumidor de Kubernetes para que el operador NACK no lo vuelva a crear después de la eliminación forzada:
kubectl get consumer -n powerflex
kubectl delete consumer -n powerflex sdnas
A continuación, fuerce la eliminación del consumidor de NATS con la marca --force:
kubectl exec -it -n powerflex $(kubectl get pods -n powerflex | grep -i "nats-server-box" | awk '{print $1}') -- nats consumer rm --force pfxm-events sdnas-gw
Si el CR no se eliminó antes de la eliminación forzada de NATS, el operador NACK volverá a crear el consumidor. En ese caso, elimine el CR ahora y reinicie el pod de NACK para volver a sincronizar:
kubectl delete consumer -n powerflex sdnas
kubectl delete pod -n powerflex $(kubectl get pods -n powerflex | grep nats-nack | awk '{print $1}')
Paso 3: Depura los mensajes acumulados:
kubectl exec -it -n powerflex $(kubectl get pods -n powerflex | grep -i "nats-server-box" | awk '{print $1}') -- nats stream purge pfxm-events
Paso 4: Verifique que solo queden 3 consumidores:
kubectl exec -it -n powerflex $(kubectl get pods -n powerflex | grep -i "nats-server-box" | awk '{print $1}') -- nats consumer report pfxm-events
Consumidores esperados: alert-service, event-history-external-events, notifier-external-events. Sin sdnas-gw.
Paso 5: Vuelva a ejecutar el diagnóstico del estado del bus de mensajes desde la interfaz de usuario de PFxM y confirme que el resultado es correcto.
Paso 6: Monitoree durante 24 a 48 horas para confirmar que los mensajes no se vuelvan a acumular.
Paso 7: Una vez que se confirme la estabilidad, elimine las instantáneas de VMware.