Cómo se combinan los objetos por lotes

OCI Batch utiliza una jerarquía de recursos para definir, agrupar y ejecutar cargas de trabajo a gran escala. Cada objeto tiene un rol específico, desde la agrupación de trabajos hasta la definición de cómo se ejecutan las tareas. Para configurar y gestionar los trabajos por lotes de manera eficaz, debe comprender cómo funcionan juntos estos objetos.

Relaciones clave entre objetos por lotes de OCI

  1. Contexto de Lote: Un contexto de lote es el contenedor de nivel superior para las cargas de trabajo. Incluye todo lo que los trabajos necesitan ejecutar, como la configuración de red, los conjuntos, los derechos, los logs y las reglas de priorización de trabajos. Utilice diferentes contextos de lotes para aislar cargas de trabajo. Para obtener más información, consulte Gestión de contextos de lotes.
  2. Grupos de trabajos: cada contexto de lote organiza los trabajos en grupos de trabajos. Los grupos de trabajos agrupan trabajos relacionados, lo que facilita su gestión y priorización. Utilice etiquetas de pool de trabajos para priorizar trabajos dentro de un pool de trabajos y para ayudar con el control de acceso y la programación. Para obtener más información, consulte Gestión de Pools de Trabajos y Configuración de Priorización de Trabajos.
  3. Trabajos: los trabajos representan un juego de trabajos relacionados dentro de un grupo de trabajos. Cada trabajo actúa como un grupo lógico para una o más tareas. Los trabajos se priorizan en su grupo de trabajos mediante etiquetas de grupo de trabajos y etiquetas de trabajo aplicadas durante el grupo de trabajos o el proceso de creación de trabajos. La priorización de trabajos determina qué trabajos se ejecutan primero en función de las reglas de priorización en el contexto de lote. Para obtener más información, consulte Gestión de Trabajos y Configuración de Priorización de Trabajos.
  4. Tareas: las tareas son unidades individuales de ejecución dentro de un trabajo. Las tareas se definen al crear un trabajo. Para obtener más información, consulte Creación de un Trabajo. Cada tarea incluye los siguientes componentes:
    1. Entorno de tarea: el entorno de tarea define el entorno de tiempo de ejecución para la tarea, incluida la imagen de contenedor, la configuración de usuario y grupo de ejecución y los montajes de volúmenes NFS necesarios. Los entornos de tareas son reutilizables. Puede definir un entorno de tareas una vez y asignarlo a varias tareas. Para obtener más información, consulte Gestión de entornos de tareas.
    2. Perfiles de tarea: los perfiles de tarea especifican los recursos informáticos mínimos necesarios para una tarea. Los perfiles de tareas son reutilizables y ayudan a estandarizar los requisitos de recursos en las tareas. Para obtener más información, consulte Gestión de perfiles de tareas.
    3. Reclamaciones de Derecho: los derechos se utilizan para controlar recursos limitados, como las licencias de software. Cree derechos para representar los recursos que tiene. Cuando se asigna un derecho a una tarea, la tarea sólo se ejecuta si hay disponible un espacio de derecho. La ejecución de una tarea utiliza un espacio, que se libera cuando finaliza la tarea. Los derechos no se conectan a los servidores de licencias. Aplicar el número máximo de tareas simultáneas mediante el límite especificado.
    4. Dependencias de tareas: las dependencias especifican el orden de ejecución para garantizar que las tareas de requisitos terminen antes de que se inicien las tareas dependientes.
  5. Asignación de conjuntos: un conjunto representa la configuración de unidad de OCI utilizada para ejecutar las tareas que se le han asignado. Cuando una tarea está lista para su ejecución, Batch la programa en un conjunto de recursos informáticos disponible que coincida con los requisitos de recursos (OCPU y RAM) especificados en el perfil de tarea, según la política de asignación de conjunto definida. Para obtener más información, consulte Políticas de asignación de conjuntos en el tema Coincidencia de tareas con conjuntos.
  6. Priorización de trabajos: la priorización de trabajos determina qué trabajos y tareas se ejecutan primero si varios trabajos compiten por los recursos. El lote gestiona la priorización mediante etiquetas y pesos que se configuran en el contexto del lote. Los trabajos heredan y pueden sustituir las prioridades de su grupo de trabajos. Los administradores pueden definir políticas para que los proyectos urgentes se ejecuten antes que los trabajos de menor prioridad. Puede aplicar etiquetas al enviar trabajos o configurar pools. Batch utiliza esta configuración para clasificar trabajos en la cola según las reglas del contexto de lote actual. Defina la prioridad del trabajo al crear un contexto de lote. Para obtener más información, consulte Gestión de contextos de lotes y Configuración de priorización de trabajos.

Flujo de trabajo por lotes de alto nivel


Diagrama de contenedor del servicio Batch, que ilustra la relación entre sus componentes. Un usuario de OCI envía cargas de trabajo en el contexto de lote (el contenedor de nivel superior), que contiene uno o más pools de trabajos. Cada grupo de trabajos gestiona los trabajos relacionados y cada trabajo consta de una o más tareas. El diagrama muestra el grupo de trabajos 1 con el trabajo 1 (que contiene la tarea 1, la tarea 2, la tarea 3) y el grupo de trabajos 2 con el trabajo 2 (que contiene la tarea 1, la tarea 2). La imagen muestra cómo se agrupan las tareas en trabajos, que se gestionan mediante pools de trabajos dentro de un contexto de lote en OCI.

  1. Preparación de imágenes y recursos externos: para iniciar, crear y transferir las imágenes de contenedor a Oracle Cloud Infrastructure (OCI) Registry. Configure el almacenamiento de archivos necesario por adelantado y asegúrese de tener los permisos correctos para acceder a las imágenes de almacenamiento y contenedor. Contar con todas las imágenes necesarias y dependencias externas organizadas por adelantado garantiza una ejecución fluida de los trabajos por lotes.
  2. Configurar registro y redes: a continuación, cree grupos de logs y los logs necesarios. Configure la red virtual en la nube (VCN) y el acceso a la subred para que los trabajos por lotes se puedan comunicar de forma segura con otros recursos de OCI.
  3. Definir entorno: define el entorno en el que se ejecuta cada trabajo. Puede crear contextos de lotes para mantener diferentes cargas de trabajo aisladas, priorizar trabajos dentro de su arrendamiento y gestionar recursos para varios proyectos.
  4. Definir perfil de tarea: cree perfiles de tarea para definir los requisitos mínimos de hardware para las tareas, como las OCPU, la memoria y el espacio en disco. Al especificar esta configuración, se asegura de que las tareas se programen en conjuntos de recursos informáticos de tamaño adecuado, lo que optimiza el uso y el costo de los recursos. Los perfiles de tarea son esenciales para las políticas de asignación de conjuntos, lo que permite a Batch hacer coincidir cada tarea con la configuración de recursos más adecuada en función de sus necesidades.
  5. Crear contexto de lote: configure un contexto de lote como contenedor de nivel superior para organizar y gestionar los trabajos. Defina la configuración de red, registro, conjunto y derechos que necesita la carga de trabajo.
  6. Crear pools de trabajos: cree pools de trabajos en cada contexto de lote para mantener juntos los trabajos relacionados y aislar las cargas de trabajo según sea necesario. Puede aplicar políticas de autorización para el acceso de usuarios y asignar recursos específicos a diferentes proyectos o equipos dentro de grupos de trabajos. Utilice etiquetas de pool de trabajos para definir la prioridad de los trabajos en cada pool.
  7. Definir trabajos: los trabajos son las unidades principales del procesamiento por lotes. Los envía a grupos de trabajos específicos para su ejecución. Cada trabajo consta de una o más tareas que se deben completar. Los trabajos se etiquetan con niveles de prioridad para el ajuste dinámico durante la ejecución, lo que garantiza que los trabajos críticos reciban los recursos necesarios.
  8. Definir tareas: define tareas individuales dentro de cada trabajo. Las tareas son los pasos computacionales básicos necesarios para completar el flujo de trabajo. Cada tarea se define mediante una tarea de cálculo, que especifica el comando que se va a ejecutar, el entorno y el perfil de tarea. Cada tarea se ejecuta en un entorno de tareas por lotes que incluye todo lo que necesita ejecutar, como la imagen del contenedor y los montajes de volumen necesarios. También está enlazado a un perfil de tarea, lo que garantiza que la tarea coincida con el conjunto correcto al definir la CPU y la memoria mínimas que necesita.
  9. Ejecutar y supervisar: permite ejecutar trabajos y realizar un seguimiento del progreso mediante el panel de control de trabajos.