Creación de definiciones de trabajo mediante EcsProperties - AWS Batch

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de definiciones de trabajo mediante EcsProperties

Si utiliza las definiciones de AWS Batch trabajo EcsProperties, puede modelar el hardware, los sensores, los entornos 3D y otras simulaciones en contenedores separados. Puede utilizar esta función para organizar de forma lógica los componentes de la carga de trabajo y separarlos de la aplicación principal. Esta función se puede utilizar AWS Batch en Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS) y. AWS Fargate

ContainerPropertiesen comparación con las definiciones de puestos EcsProperties

Puede optar por utilizar ContainerPropertiesnuestras definiciones de EcsPropertiestrabajo según lo indique su caso de uso. A un nivel superior, ejecutar AWS Batch trabajos con EcsProperties es similar a ejecutar trabajos con unContainerProperties.

La estructura de definición de trabajos heredada, que utilizabaContainerProperties, sigue siendo compatible. Si actualmente tiene flujos de trabajo que utilizan esta estructura, puede seguir ejecutándolos.

La principal diferencia es que se ha añadido un objeto nuevo a la definición del trabajo para adaptarlo a las definiciones EcsProperties basadas.

Por ejemplo, una definición de trabajo que se usa ContainerProperties en Amazon ECS y Fargate tiene la siguiente estructura:

{ "containerProperties": { ... "image": "my_ecr_image1", ... }, ... }

Una definición de trabajo que se usa EcsProperties en Amazon ECS y Fargate tiene la siguiente estructura:

{ "ecsProperties": { "taskProperties": [{ "containers": [ { ... "image": "my_ecr_image1", ... }, { ... "image": "my_ecr_image2", ... },

Cambios generales en las API AWS Batch

A continuación se describen con más detalle algunas de las principales diferencias entre el uso de los tipos de datos EcsProperties y los de la EcsProperties API:

Definiciones de trabajos con varios contenedores para Amazon ECS

Para adaptarse a la estructura de varios contenedores de Amazon ECS, algunos tipos de datos de la API son diferentes. Por ejemplo:

  • ecsPropertiestiene el mismo nivel que containerProperties en la definición de contenedor único. Para obtener más información, consulte la Guía EcsPropertiesde referencia AWS Batch de la API.

  • taskPropertiescontiene las propiedades definidas para la tarea Amazon ECS. Para obtener más información, consulte EcsPropertiesla Guía de referencia de la AWS Batch API.

  • containersincluye información similar a la de containerProperties la definición de contenedor único. La principal diferencia es que containers permite definir hasta diez contenedores. Para obtener más información, consulte ECS:Containers TaskProperties en la Guía de AWS Batch referencia de la API.

  • essentialEste parámetro indica cómo afecta el contenedor al trabajo. Todos los contenedores esenciales deben completarse correctamente (salir como 0) para que el trabajo avance. Si un contenedor marcado como esencial falla (sale con un valor distinto de 0), el trabajo fallará.

    El valor predeterminado es true y al menos un contenedor debe estar marcado como. essential Para obtener más información, consulte essential en la Guía de referencia de la API de AWS Batch .

  • Con el dependsOnparámetro, puede definir una lista de dependencias de contenedores. Para obtener más información, consulte dependsOn en la Guía de referencia de la API de AWS Batch .

    nota

    La complejidad de la dependsOn lista y el tiempo de ejecución del contenedor asociado pueden afectar a la hora de inicio del trabajo. Si las dependencias tardan mucho en ejecutarse, el trabajo permanecerá en ese STARTING estado hasta que se complete.

Para obtener más información sobre la estructura ecsProperties y, consulte la sintaxis de RegisterJobDefinitionsolicitud de ECSProperties.

Definiciones de trabajos con varios contenedores para Amazon EKS

Para adaptarse a la estructura de varios contenedores de Amazon EKS, algunos tipos de datos de la API son diferentes. Por ejemplo:

  • namees un identificador único del contenedor. Este objeto no es necesario para un único contenedor, pero sí para definir varios contenedores en un pod. Si name no está definido para contenedores individuales, se aplica el nombre predeterminadodefault,.

  • initContainersse definen dentro del tipo eksPodPropertiesde datos. Se ejecutan antes que los contenedores de aplicaciones, siempre se ejecutan hasta completarse y deben completarse correctamente antes de que se inicie el siguiente contenedor.

    Estos contenedores están registrados en el agente Amazon EKS Connector y conservan la información de registro en el almacén de datos de backend de Amazon Elastic Kubernetes Service. El initContainers objeto puede aceptar hasta diez (10) elementos. Para obtener más información, consulte Init Containers en la Kubernetesdocumentación.

    nota

    El initContainers objeto puede afectar a la hora de inicio del trabajo. Si initContainers tardan mucho en ejecutarse, el trabajo permanecerá en ese STARTING estado hasta que se complete.

  • shareProcessNamespaceindica si los contenedores del pod pueden compartir el mismo espacio de nombres del proceso. El valor predeterminado es false. Configurarlo true para permitir que los contenedores vean y señalen los procesos de otros contenedores que se encuentran en el mismo pod.

  • Cada contenedor es importante. Todos los contenedores deben completarse correctamente (salir como 0) para que el trabajo se realice correctamente. Si un contenedor falla (sale con un valor distinto de 0), se produce un error en el trabajo.

Para obtener más información sobre la estructura eksProperties y, consulte la sintaxis de RegisterJobDefinitionsolicitud de eksProperties.