

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 una definición de trabajo de un solo nodo en los recursos de Amazon EKS
<a name="create-job-definition-eks"></a>

Siga estos pasos para crear una definición de trabajo de un solo nodo en recursos de Amazon Elastic Kubernetes Service (Amazon EKS).

**Para crear una nueva definición de trabajo en los recursos de Amazon EKS:**

1. Abra la AWS Batch consola en. [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/)

1. En la barra de navegación superior, selecciona la Región de AWS que deseas usar.

1. En el panel de navegación izquierdo, seleccione **Definiciones de trabajos**.

1. Seleccione **Creación de**.

1. Para el **tipo de orquestación**, elija **Elastic Kubernetes Service (EKS)**.

1. En **Nombre**, escriba un nombre único para la definición de trabajo. El nombre puede tener una longitud máxima de 128 caracteres. Puede contener letras mayúsculas y minúsculas, números, guiones (-) y guiones bajos (\$1).

1. (Opcional) En **Tiempo de espera de ejecución**, introduzca el valor del tiempo de espera (en segundos). El tiempo de espera de ejecución es el tiempo que transcurre antes de que finalice un trabajo pendiente. Si un intento supera la duración del tiempo de espera, el intento se detiene y pasa a un estado `FAILED`. Para obtener más información, consulte [Tiempos de espera de trabajo](job_timeouts.md). El valor mínimo es de 60 segundos.

1. (Opcional) Activa la **Prioridad de programación**. Introduzca un valor de prioridad de programación entre 0 y 100. Los valores más altos tienen mayor prioridad respecto a los valores más bajos.

1. (Opcional) Amplíe **Etiquetas** y, a continuación, elija **Agregar etiqueta** para agregar etiquetas al recurso.

1. Seleccione **Página siguiente**.

1. En la sección de **propiedades de pod EKS**:

   1. En **Nombre de cuenta de servicio**, introduzca una cuenta que proporcione una identidad para los procesos que se ejecutan en un pod.

   1. Active la **Red de host** para usar el modelo de red Kubernetes pod y abra un puerto de escucha para las conexiones entrantes. Desactive esta configuración solo para las comunicaciones salientes.

   1. Para la **política DNS**, elija una de las siguientes opciones:
      + **Sin valor (nulo)**: pod ignora la configuración de DNS del entorno Kubernetes.
      + **Predeterminado**: pod hereda la configuración de resolución de nombres del nodo en el que se ejecuta.
**nota**  
Si no se especifica una política de DNS, la política de DNS **Valor predeterminado** no es la política de DNS predeterminada. En su lugar, **ClusterFirst**se usa.
      + **ClusterFirst**— Cualquier consulta de DNS que no coincida con el sufijo del dominio del clúster configurado se reenvía al servidor de nombres ascendente que se hereda del nodo. 
      + **ClusterFirstWithHostNet**— Úselo si la **red host está activada**.

   1. (Opcional) En **Volúmenes**, seleccione **Agregar volumen** y, a continuación:

      1. Agregue un **Nombre** para su volumen.

      1. (Opcional) Agregue la **Ruta del host** al directorio del host. 

      1. (Opcional) Agregue un límite **Medio** y de **Tamaño** para configurar un [emptyDir de Kubernetes](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir).

      1. (Opcional) Proporcione un **Nombre del secreto** para el pod e indique si el secreto es **Opcional**.

      1. (Opcional) Defina un **Nombre de recuperación** para adjuntar una [Recuperación de volumen persistente](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) de Kubernetes al pod e indique si es de **Solo lectura**.

   1. (Opcional) En **Etiquetas de los pods**, seleccione **Agregar etiquetas de pod** y, a continuación, introduzca un par de nombre-valor. 
**importante**  
El prefijo de una etiqueta de pod no puede contener `kubernetes.io/`, `k8s.io/` o `batch.amazonaws.com/`.

   1. (Opcional) Para las **Anotaciones del pod**, seleccione **Agregar anotaciones** y, a continuación, ingrese un par nombre-valor. 
**importante**  
El prefijo de una anotación de pod no puede contener `kubernetes.io/`, `k8s.io/` o `batch.amazonaws.com/`.

   1. Seleccione **Página siguiente**.

   1. En la sección **Configuración del contenedor**:

      1. Para el **Nombre**, escriba un nombre único para el contenedor. El nombre debe empezar por una letra o un número y puede tener un máximo de 63 caracteres. Puede contener letras mayúsculas y minúsculas, números y guiones (-).

      1. En **Imagen**, elija la imagen Docker que desea utilizar para su trabajo. Por defecto, las imágenes del registro de Docker Hub están disponibles. También es posible especificar otros repositorios con `repository-url/image:tag`. El nombre puede tener una longitud máxima de 225 caracteres. Puede contener letras mayúsculas y minúsculas, números, guiones medios (-), guiones bajos (\$1), dos puntos (:), puntos (.), barras inclinadas (/) y signos numéricos (\$1). Este parámetro se asigna a `Image` en la sección [Creación de un contenedor](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) de la [API remota de Docker](https://docs.docker.com/engine/api/v1.38/) y el parámetro `IMAGE` de [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/)
**nota**  
La arquitectura de la imagen de Docker debe coincidir con la arquitectura del procesador de los recursos informáticos en las que estén programadas. Por ejemplo, las imágenes de Docker basadas en ARM solo se pueden ejecutar en recursos informáticos basados en ARM.
         + Las imágenes de los repositorios públicos de Amazon ECR utilizan las convenciones de nomenclatura completa `registry/repository[:tag]` o `registry/repository[@digest]` (por ejemplo, `public.ecr.aws/registry_alias/my-web-app:latest`).
         + Las imágenes de los repositorios de Amazon ECR utilizan la convención de nomenclatura completa `registry/repository[:tag]` (por ejemplo, `aws_account_id.dkr.ecr.region.amazonaws.com``/my-web-app:latest`).
         + Las imágenes de los repositorios oficiales de Docker Hub utilizan un solo nombre (por ejemplo, `ubuntu` o `mongo`).
         + Las imágenes de otros repositorios de Docker Hub se clasifican con un nombre de organización (por ejemplo, `amazon/amazon-ecs-agent`).
         + Las imágenes de otros repositorios online se cualifican más con un nombre de dominio (por ejemplo, `quay.io/assemblyline/ubuntu`).

      1. (Opcional) En **Política de extracción de imágenes**, elija cuándo se extraerán las imágenes.

      1. (Opcional) En **Comando**, ingrese un comando JSON para pasarlo al contenedor.

      1. (Opcional) En **Argumentos**, introduzca los argumentos para pasar al contenedor. Si no se proporciona un argumento, se utiliza el comando contenedor de imágenes.

   1. (Opcional) Puede añadir parámetros a la definición del trabajo como asignaciones de nombre-valor para anular los valores predeterminados de la definición del trabajo. Para añadir un parámetro:

      1. En **Parámetros**, introduzca un par de nombre-valor y, a continuación, elija **Agregar parámetro**.
**importante**  
Si elige **Agregar parámetro**, debe configurar al menos un parámetro o elegir **Eliminar parámetro**

   1. En la sección de **Configuración del entorno**:

      1. Para **v CPUs**, introduce el número de v que deseas reservar CPUs para el contenedor. Este parámetro se corresponde con `CpuShares` en la sección [Creación de un contenedor](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) de la [API remota de Docker](https://docs.docker.com/engine/api/v1.38/) y con la opción `--cpu-shares` de [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/). Cada vCPU es equivalente a 1 024 cuotas de CPU. Debe especificar al menos una vCPU.

      1. En **Memoria**, introduzca el límite de memoria disponible para el contenedor. Si su contenedor intenta superar la memoria especificada aquí, el contenedor se detiene. Este parámetro se corresponde con `Memory` en la sección [Creación de un contenedor](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) de la [API remota de Docker](https://docs.docker.com/engine/api/v1.38/) y con la opción `--memory` de [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/). Debe especificar al menos 4 MiB de memoria para un trabajo.
**nota**  
Para maximizar el uso de los recursos, priorice la memoria para los trabajos de un tipo de instancia específico. Para obtener más información, consulte [Administración de la memoria de recurso de computación](memory-management.md).

   1. (Opcional) En el caso de **Variables de entorno**, seleccione **Agregar variable de entorno** para añadir variables de entorno como pares de nombre-valor. Estas variables se transfieren al contenedor.

   1. (Opcional) En **Montaje del volumen**:

      1. Seleccione **Agregar montaje del volumen**.

      1. Introduzca un **Nombre** y, a continuación, introduzca una **Ruta de montaje** en el contenedor donde está montado el volumen. Introduzca **SubPath**a para especificar una subruta dentro del volumen al que se hace referencia en lugar de su raíz. 

      1. Seleccione **Solo lectura** para eliminar los permisos de escritura del volumen.

      1. Seleccione **Agregar montaje del volumen**.

   1. (Opcional) En **Ejecutar como usuario**, introduzca un ID de usuario para ejecutar el proceso del contenedor.
**nota**  
El ID de usuario debe existir en la imagen para que se ejecute el contenedor.

   1. (Opcional) En **Ejecutar como grupo**, introduzca un ID de grupo para ejecutar el proceso del contenedor en tiempo de ejecución.
**nota**  
El ID de grupo debe existir en la imagen para que se ejecute el contenedor.

   1. (Opcional) Para otorgar al contenedor de su trabajo permisos elevados en la instancia host (similares a los del usuario de `root`), arrastre el control deslizante **Privilegiado** hacia la derecha. Este parámetro se corresponde con `Privileged` en la sección [Creación de un contenedor](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) de la [API remota de Docker](https://docs.docker.com/engine/api/v1.38/) y con la opción `--privileged` de [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/).

   1. (Opcional) Active el sistema de **Archivos raíz de solo lectura** para eliminar el acceso de escritura al sistema de archivos raíz.

   1. (Opcional) Active la opción **Ejecutar como usuario no raíz** para ejecutar los contenedores en el pod como usuario no raíz.
**nota**  
Si la opción **Ejecutar como no raíz** está activada, kubelet valida la imagen en tiempo de ejecución para comprobar que la imagen no se ejecuta como UID 0. 

   1. Seleccione **Página siguiente**.

1. Para la **Revisión de definición de trabajo**, revise los pasos de configuración. Si necesita realizar cambios, elija **Editar**. Cuando haya terminado, seleccione **Creación de definición de trabajo**.