Compartir por


Escenarios de conmutación por error de Kubernetes en un dispositivo Azure Stack Edge en clúster

El clúster de Kubernetes se implementa como una conocida plataforma de código abierto para orquestar aplicaciones contenedorizadas. En este artículo se describe cómo funciona Kubernetes en el dispositivo Azure Stack Edge de dos nodos, incluidos los modos de error y las respuestas de dispositivo correspondientes.

Acerca de Kubernetes en Azure Stack Edge

En el dispositivo Azure Stack Edge, puede crear un clúster de Kubernetes mediante la configuración del proceso. Cuando se configura el rol de proceso, el clúster de Kubernetes, incluidos los nodos maestro y de trabajo, se implementan y configuran automáticamente. Este clúster se usa para la implementación de cargas de trabajo mediante kubectl, IoT Edge o Azure Arc.

El dispositivo Azure Stack Edge está disponible como una configuración de un nodo o una configuración de dos nodos que constituye el clúster de infraestructura. El clúster de Kubernetes es independiente del clúster de infraestructura y se implementa a partir del clúster de infraestructura. El clúster de infraestructura proporciona el almacenamiento persistente para el dispositivo Azure Stack Edge, mientras que el clúster de Kubernetes es responsable únicamente de la orquestación de la aplicación.

El clúster de Kubernetes tiene un nodo maestro y un nodo de trabajo. Los nodos de Kubernetes de un clúster son máquinas virtuales que ejecutan sus aplicaciones y flujos de trabajo en la nube.

  • El nodo maestro de Kubernetes es responsable de mantener el estado deseado para el clúster. El nodo maestro también controla el nodo de trabajo.
  • Los nodos de trabajo ejecutan las aplicaciones contenedorizadas.

Clúster de Kubernetes en un dispositivo de dos nodos

El clúster de Kubernetes en el dispositivo de dos nodos tiene un nodo maestro y dos nodos de trabajo. El dispositivo de dos nodos tiene alta disponibilidad y, si se produce un error en uno de los nodos, el dispositivo y el clúster de Kubernetes siguen ejecutándose. Para más información sobre la arquitectura de clúster de Kubernetes, consulte los Conceptos básicos de Kubernetes.

En un dispositivo Azure Stack Edge de dos nodos, la máquina virtual maestra de Kubernetes y una máquina virtual de trabajo de Kubernetes se ejecutan en el nodo A del dispositivo. En el nodo B, se está ejecutando una sola máquina virtual de trabajo de Kubernetes.

Cada máquina virtual de trabajo del clúster de Kubernetes es una máquina virtual de Hyper-V anclada. Una máquina virtual anclada está vinculada al nodo específico en el que se ejecuta. Si se produce un error en el nodo A del dispositivo, la máquina virtual maestra conmuta por error al nodo B. Pero la máquina virtual de trabajo del nodo A, que es una máquina virtual anclada, no conmuta por error al nodo B y viceversa. En su lugar, los pods de la máquina virtual de trabajo en el nodo A se reequilibran en el nodo B.

Para que los pods reequilibrados tengan capacidad suficiente para ejecutarse en el nodo del dispositivo B, el sistema exige que no se utilice más del 50 % de la capacidad de cada nodo de ASE durante las operaciones normales de clúster de dos nodos de Azure Stack Edge. Este uso de capacidad se realiza con el máximo esfuerzo y hay circunstancias (por ejemplo, cargas de trabajo que requieren recursos de GPU no disponibles cuando se reequilibran en el nodo B de ASE) en las que es posible que los pods reequilibrados no tengan suficientes recursos para ejecutarse.

Estos escenarios se tratan en detalle en la sección siguiente sobre Comportamiento y modos de error.

Comportamiento y modos de error

Los nodos del dispositivo Azure Stack Edge pueden producir un error en determinadas condiciones. En esta sección se tabulan los distintos modos de error y las respuestas de dispositivo correspondientes.

Errores de nodo o reinicios de Azure Stack Edge

Nodo Errores Respuestas
El nodo A tiene errores
(El nodo B no tiene errores).
Se pueden producir los siguientes errores posibles:
  • Se producirá un error en ambas PSU.
  • Error en uno o ambos puertos, 3 y 4
  • Se produce un error en el componente principal, incluye la placa base, DIMM y el disco del sistema operativo.
  • Error en todo el nodo
    Se ven las siguientes respuestas para cada uno de estos errores:
    • La máquina virtual maestra de Kubernetes conmuta por error del nodo A al nodo B.
    • La máquina virtual maestra tarda unos minutos en llegar al nodo B.
    • Los pods del nodo A se reequilibran en el nodo B.
    • Las cargas de trabajo de GPU siguen ejecutándose si la GPU está disponible en el nodo B.
    Reinicios del nodo A
    (El nodo B no tiene errores).
    Reinicios del nodo Una vez que el nodo A finaliza el reinicio y la máquina virtual de trabajo está disponible, la máquina virtual maestra volverá a equilibrar los pods desde el nodo B.
    El nodo B tiene errores
    (El nodo A no tiene errores).
    Se pueden producir los siguientes errores posibles:
    • Se producirá un error en ambas PSU.
    • Error en uno o ambos puertos, 3 y 4
    • Se produce un error en el componente principal, incluye la placa base, DIMM y el disco del sistema operativo.
    • Error en todo el nodo
      Se ven las siguientes respuestas para cada uno de estos errores:
      • La máquina virtual maestra de Kubernetes vuelve a equilibrar los pods del nodo B. Esto puede tardar unos minutos.
      Reinicios del nodo B
      (El nodo A no tiene errores).
      Reinicios del nodo Una vez que el nodo B finaliza el reinicio y la máquina virtual de trabajo está disponible, la máquina virtual maestra volverá a equilibrar los pods desde el nodo B.

      Actualizaciones de nodos de Azure Stack Edge

      Tipo de actualización Respuestas
      Actualización del nodo de dispositivo Las actualizaciones graduales se aplican a los nodos del dispositivo y los nodos se reiniciarán.
      Actualización del servicio Kubernetes La actualización del servicio Kubernetes incluye:
      • Conmutación por error de la máquina virtual maestra de Kubernetes del nodo de dispositivo A al nodo de dispositivo B
      • Una actualización maestra de Kubernetes.
      • Actualizaciones del nodo de trabajo de Kubernetes (no necesariamente en ese orden).
      Todo el proceso de actualización puede tardar 30 minutos o más y, durante este periodo, el clúster de Kubernetes está disponible para cualquier operación de administración (como la implementación de una nueva carga de trabajo). Aunque los pods se purgarán del nodo del dispositivo mientras se actualiza, las cargas de trabajo pueden estar sin conexión durante varios segundos durante este proceso.

      Pasos siguientes