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
ContainerProperties
en comparación con las definiciones de puestos EcsProperties
Puede optar por utilizar ContainerProperties
nuestras definiciones de EcsProperties
trabajo 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:
-
Muchos de los parámetros que se utilizan dentro
ContainerProperties
aparecen dentroTaskContainerProperties
. Algunos ejemplos incluyencommand
,image
,privileged
secrets
, yusers
. Todos se pueden encontrar dentro TaskContainerProperties. -
Algunos de los
TaskContainerProperties
parámetros no tienen equivalentes funcionales en la estructura heredada. Algunos ejemplos incluyendependsOn
,essential
,name
ipcMode
, ypidMode
. Para obtener más información, consulte EcsTaskDetailsy TaskContainerProperties.Además, algunos
ContainerProperties
parámetros no tienen equivalentes ni aplicaciones en laEcsProperties
estructura. EntaskProperties
, secontainer
ha sustituido porcontainers
para que el nuevo objeto pueda aceptar hasta diez elementos. Para obtener más información, consulte: ContainerProperties y: containersRegisterJobDefinition. EcsTaskProperties -
taskRoleArn
es funcionalmentejobRoleArn
equivalente a. Para obtener más información, consulte EcsTaskProperties: taskRoleArn y ContainerProperties: jobRoleArn. -
Puede incluir de uno (1) a diez (10) contenedores en la
EcsProperties
estructura. Para obtener más información, consulte: contenedoresEcsTaskProperties. -
Los objetos InstancEtypes
taskProperties
e InstanceTypes son matrices, pero actualmente solo aceptan un elemento. Por ejemplo, :taskProperties y:instanceTypesEcsProperties. NodeRangeProperty
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:
-
ecsProperties
tiene el mismo nivel quecontainerProperties
en la definición de contenedor único. Para obtener más información, consulte la Guía EcsPropertiesde referencia AWS Batch de la API. -
taskProperties
contiene 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. -
containers
incluye información similar a la decontainerProperties
la definición de contenedor único. La principal diferencia es quecontainers
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. -
essential
Este 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, consulteessential
en la Guía de referencia de la API de AWS Batch . -
Con el
dependsOn
parámetro, puede definir una lista de dependencias de contenedores. Para obtener más información, consultedependsOn
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 eseSTARTING
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:
-
name
es un identificador único del contenedor. Este objeto no es necesario para un único contenedor, pero sí para definir varios contenedores en un pod. Siname
no está definido para contenedores individuales, se aplica el nombre predeterminadodefault
,. -
initContainers
se 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 Containersen la Kubernetesdocumentación. nota
El
initContainers
objeto puede afectar a la hora de inicio del trabajo. SiinitContainers
tardan mucho en ejecutarse, el trabajo permanecerá en eseSTARTING
estado hasta que se complete. -
shareProcessNamespace
indica si los contenedores del pod pueden compartir el mismo espacio de nombres del proceso. El valor predeterminado esfalse
. Configurarlotrue
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.