Ejecuta una flota de nodos edge MiroxOS como un único clúster autorreparable en tu planta, donde cada nodo avanza a través de una máquina de estados protegida para que un dispositivo nunca pueda quedar en un estado inválido o medio configurado.
Levantar un clúster edge es un protocolo de enlace coordinado entre las acciones que ejecutas en el dispositivo y las acciones que el personal de Mirox realiza en la nube. Cada nodo avanza a través de una máquina de estados estricta, y cada transición comprueba primero sus requisitos previos, de modo que no puedes, por ejemplo, retirar un nodo de un parque mientras todavía está sirviendo a un clúster en producción. Cuando un dispositivo se queda desfasado respecto a la nube (por ejemplo, tras una limpieza forzada mientras estaba sin conexión), un único comando de sincronización lo reconcilia.
Leyenda:
- Flechas sólidas: Transiciones normales (ejecutadas en el dispositivo o por un administrador de la organización)
- Flechas discontinuas: Transiciones forzadas realizadas por el personal de Mirox, con limpieza automática
- Bloqueado al parque Clúster edge en ejecución Punto de sincronización
Cuando el personal de Mirox usa la opción de forzado, todas las limpiezas intermedias se ejecutan automáticamente:
| Acción forzada | Se ejecuta automáticamente |
|---|
| Eliminar dispositivo (desde CLUSTER_ACTIVE) | salir del clúster → node deinit → desasignar del parque → desasignar de la org → cancelar registro |
| Eliminar dispositivo (desde NODE_INITIALIZED) | node deinit → desasignar del parque → desasignar de la org → cancelar registro |
| Desasignar de la org (desde NODE_INITIALIZED) | node deinit → desasignar del parque → desasignar de la org |
| Desasignar del parque (desde NODE_INITIALIZED) | node deinit → desasignar del parque |
El dispositivo puede ejecutar mrxcloud sync para obtener el estado actual de la nube y reconciliar su configuración local:
- Si el dispositivo fue desasignado del parque de forma forzada → se borra la configuración local del nodo
- Si el dispositivo fue desasignado de la organización de forma forzada → se borra la configuración local de la org
- Si el dispositivo fue eliminado de forma forzada → el dispositivo debe volver a registrarse
Leyenda:
- Flechas sólidas: Transiciones normales
- Flechas discontinuas: Transiciones forzadas realizadas por el personal de Mirox
- Esperando nodos Clúster operativo
| Estado | Descripción | Estados permitidos a continuación |
|---|
UNREGISTERED | El dispositivo no está registrado en ninguna nube | REGISTERED |
REGISTERED | El dispositivo está registrado en la nube | ASSIGNED_ORG, UNREGISTERED |
ASSIGNED_ORG | El dispositivo está asignado a una organización | ASSIGNED_PARK, REGISTERED |
ASSIGNED_PARK | El dispositivo está asignado a un parque | NODE_INITIALIZED, ASSIGNED_ORG |
NODE_INITIALIZED | El dispositivo está inicializado como nodo edge | CLUSTER_ACTIVE, ASSIGNED_PARK |
CLUSTER_ACTIVE | El clúster edge está en ejecución en el dispositivo | NODE_INITIALIZED |
| Estado | Descripción |
|---|
NOT_CREATED | No existe ningún clúster edge para el parque |
CREATED | Clúster edge creado, esperando nodos |
ACTIVE | Al menos un nodo se ha unido |
| Paso | Acción | Actor | Herramienta | Requisito previo |
|---|
| 1 | Registrar dispositivo | Dispositivo | mrxcloud register | - |
| 2 | Asignar a la organización | Personal de Mirox | Nube | Paso 1 |
| 3 | Asignar al parque | Administrador de la organización | Nube | Paso 2 |
| 4 | Crear clúster edge | Personal de Mirox | Nube | Paso 3 (el parque existe) |
| 5 | Inicializar nodo | Dispositivo | mrxcloud node init | Pasos 3 + 4 |
| 6 | Inicializar clúster | Dispositivo | mrxnode init | Paso 5 |
| 7 | Desplegar cargas de trabajo | Dispositivo | mrxnode bootstrap | Paso 6 |
| Paso | Acción | Actor | Herramienta | Requisito previo |
|---|
| 7 | Detener cargas de trabajo | Dispositivo | mrxnode teardown | - |
| 6 | Salir del clúster | Dispositivo | mrxnode leave | Paso 7 |
| 5 | Desinicializar nodo | Dispositivo | mrxcloud node deinit | Paso 6 |
| 4 | Eliminar clúster edge | Personal de Mirox | Nube | Sin nodos activos |
| 3 | Desasignar del parque | Administrador de la organización | Nube | Paso 5 (nodo desinicializado) |
| 2 | Desasignar de la org | Personal de Mirox | Nube | Paso 3 |
| 1 | Cancelar registro del dispositivo | Dispositivo | mrxcloud unregister | Paso 2 |
Cuando un dispositivo se inicializa como nodo edge (Paso 5), el dispositivo queda bloqueado al parque:
| Acción | Permitida cuando | Bloqueada cuando |
|---|
| Desasignar dispositivo del parque | El nodo NO está inicializado | El nodo está inicializado |
| Desasignar dispositivo de la org | El dispositivo NO está asignado a un parque | El dispositivo está asignado a un parque |
| Eliminar clúster edge | Ningún nodo inicializado | Cualquier nodo inicializado |
Cada acción se rechaza mientras un bloqueo está activo, salvo que se ejecute con la opción force, en cuyo caso la plataforma realiza por ti todas las limpiezas intermedias:
| Acción | Sin Force | Con Force |
|---|
| Desasignar dispositivo del parque | Rechazada mientras el dispositivo sea un nodo inicializado | node deinit automático y luego desasignar |
| Desasignar dispositivo de la organización | Rechazada mientras el dispositivo esté asignado a un parque | Desasignación automática del parque (y node deinit si es necesario) |
| Eliminar dispositivo | Rechazada mientras el dispositivo tenga cualquier asignación | Cadena de limpieza completa automática |
| Eliminar clúster edge | Rechazada mientras haya nodos inicializados | Desinicialización automática de todos los nodos y luego eliminación |
Inicializar nodo (mrxcloud node init) | Requiere que el dispositivo esté asignado a un parque con un clúster edge | - |
Salir del clúster (mrxcloud node deinit) | Requiere que el dispositivo tenga actualmente un número de nodo | - |
| Comando | Descripción |
|---|
mrxcloud register <domain> | Registrar el dispositivo en la nube |
mrxcloud unregister | Cancelar el registro del dispositivo |
mrxcloud sync | Obtener y reconciliar el estado actual de la nube |
mrxcloud node init | Inicializar el dispositivo como nodo edge |
mrxcloud node deinit | Desinicializar el nodo del clúster |
mrxcloud node info | Mostrar la configuración de nodo del dispositivo |
| Comando | Descripción |
|---|
mrxnode init | Iniciar el clúster edge (primer nodo) o unirse a uno existente |
mrxnode leave | Salir del clúster edge |
mrxnode bootstrap | Desplegar las cargas de trabajo de la planta en el clúster |
mrxnode teardown | Detener y eliminar las cargas de trabajo desplegadas |
mrxnode check | Comprobar el estado del clúster |
Estos pasos se realizan en la nube en lugar de en el dispositivo. Asignar un dispositivo a un parque y gestionarlo dentro del parque está disponible para los administradores de tu organización; registrar o asignar un dispositivo a una organización, y crear o eliminar el propio clúster edge, los realiza el personal de Mirox.
| Acción | Realizada por | Con Force |
|---|
| Asignar dispositivo a la organización | Personal de Mirox | - |
| Desasignar dispositivo de la organización | Personal de Mirox | Desasignación automática del parque + node deinit |
| Eliminar dispositivo | Personal de Mirox | Cadena de limpieza completa automática |
| Asignar / desasignar dispositivo a un parque | Administrador de la organización | node deinit automático al desasignar |
| Crear clúster edge para un parque | Personal de Mirox | - |
| Eliminar clúster edge | Personal de Mirox | Desinicialización automática de todos los nodos |
mrxcloud status
mrxcloud node info
mrxnode check
mrxcloud node info informa de la configuración de nodo actual del dispositivo:
| Indicador | Significado |
|---|
edge_location | UID del parque al que este dispositivo sirve como nodo |
edge_node_number | Número de nodo asignado (1, 2, 3...) |
private_ip | IP de red privada del nodo dentro del clúster |
token_to_join | Token de unión al clúster usado por los nodos adicionales |
| Error | Causa | Solución |
|---|
| "Device is not assigned to a park" | El paso 3 no se ha completado | Asigna el dispositivo a un parque en la nube |
| "No edge cluster exists for park" | El paso 4 no se ha completado | Haz que se cree el clúster edge en la nube |
| "Cannot unassign: device is initialized as edge node" | Paso 5 completado, bloqueo activo | Ejecuta mrxcloud node deinit, o usa la opción de forzado |
| "Cannot delete cluster: active nodes exist" | Todavía hay nodos inicializados | Desinicializa todos los nodos, o usa la opción de forzado |
| "Cannot unassign from org: device assigned to park" | El dispositivo todavía está en un parque | Desasigna primero del parque, o usa la opción de forzado |
| "State mismatch: device was forcefully modified" | El estado de la nube cambió mientras el dispositivo estaba sin conexión | Ejecuta mrxcloud sync para reconciliar |