

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar uma definição de trabalho de nó único nos recursos do Amazon EKS
<a name="create-job-definition-eks"></a>

Conclua as seguintes etapas para criar uma definição de trabalho de nó único no Amazon Elastic Kubernetes Service (Amazon EKS).

**Para criar uma nova definição de trabalho em recursos do Amazon EKS:**

1. Abra o AWS Batch console em [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Na barra de navegação superior, escolha Região da AWS a ser usada.

1. No painel de navegação esquerdo, escolha **Definições de trabalho**.

1. Escolha **Criar**.

1. Em **Tipo de Orquestração**, escolha **Elastic Kubernetes Service (EKS)**.

1. Em **Nome**, insira um nome exclusivo para a sua definição de trabalho. Os nomes podem ter até 128 caracteres. Podem conter letras minúsculas, maiúsculas, números, hifens e (-) e sublinhados (\$1).

1. (Opcional) Em **Tempo Limite de Execução**, insira o valor do tempo limite (em segundos). O tempo limite de execução é o período de tempo antes que um trabalho não concluído seja encerrado. Se uma tentativa exceder o tempo limite, ela será interrompida e passada para um status `FAILED`. Para mais informações, consulte [Tempos limite de trabalho](job_timeouts.md). O valor mínimo é 60 segundos.

1. (Opcional) Ative a **Prioridade de Agendamento**. Insira um valor de prioridade de agendamento entre 0 e 100. Valores mais altos têm maior prioridade sobre valores mais baixos.

1. (Opcional) Expanda **Tags** e então, escolha **Adicionar Tag** para adicionar tags ao recurso.

1. Escolha **Próxima página**.

1. Na seção **Propriedades pod EKS**:

   1. Em **Nome da Conta de Serviço**, insira uma conta que forneça uma identidade para processos executados em pod.

   1. Ative a **rede Host** para usar o modelo de rede Kubernetes pod e abrir uma porta de recepção para conexões de entrada. Desative essa configuração somente para comunicações de saída.

   1. Em **Política DNS**, escolha uma das opções a seguir:
      + **Sem Valor (Nulo)**: o pod ignora as configurações DNS do ambiente Kubernetes.
      + **Padrão**: o pod herda a configuração de resolução de nomes do nó onde for executado.
**nota**  
Se uma política DNS não for especificada, o **Padrão** não será a política DNS padrão. Em vez disso, **ClusterFirst**é usado.
      + **ClusterFirst**— Qualquer consulta de DNS que não corresponda ao sufixo do domínio de cluster configurado é encaminhada para o servidor de nomes upstream herdado do nó. 
      + **ClusterFirstWithHostNet**— Use se a **rede Host** estiver ativada.

   1. (Opcional) Para **Volumes**, selecione **Adicionar volume** e, em seguida:

      1. Adicione um **Nome** para seu volume.

      1. (Opcional) Adicione o **Caminho do host** para o diretório no host. 

      1. (Opcional) Adicione um **Meio** e um **Limite de tamanho** para configurar um [Kubernetes emptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir).

      1. (Opcional) Forneça um **Nome secreto** para o pod e se o segredo é **Opcional**.

      1. (Opcional) Defina um **Nome de declaração** para anexar uma [Declaração de volume persistente](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) do Kubernetes ao pod, e se ela é **Somente leitura**.

   1. (Opcional) Em **Rótulos de Pod**, escolha **Adicionar Rótulos de Pod** e então, insira um par nome-valor. 
**Importante**  
O prefixo de um rótulo de pod não pode conter `kubernetes.io/`, `k8s.io/` ou `batch.amazonaws.com/`.

   1. (Opcional) Para **Anotações do pod**, escolha **Adicionar anotações** e insira um par nome-valor. 
**Importante**  
O prefixo para anotação de pod não pode conter `kubernetes.io/`, `k8s.io/` ou `batch.amazonaws.com/`.

   1. Escolha **Próxima página**.

   1. Na seção **Configuração de Contêiner**:

      1. Em **Nome**, insira um nome exclusivo para o contêiner. O nome deve começar com uma letra ou número e pode conter até 63 caracteres. Pode conter letras minúsculas, maiúsculas, números e hífens (-).

      1. Para **Imagem**, escolha a imagem do Docker a ser usada em seu trabalho. Por padrão, imagens no registro Docker Hub estarão disponíveis. Você também pode especificar outros repositórios com `repository-url/image:tag`. O nome pode ter até 255 caracteres. Pode conter letras maiúsculas, minúsculas, números, hifens (-), sublinhados (\$1), dois pontos (:), pontos (.), barras (/) e jogos da velha (\$1). Esse parâmetro é mapeado para `Image` na seção [Criar um Contêiner](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) da [API remota Docker](https://docs.docker.com/engine/api/v1.38/) e do parâmetro `IMAGE` de [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/)
**nota**  
A arquitetura da imagem do Docker deve corresponder à arquitetura do processador dos recursos de computação nos quais eles foram programados. Por exemplo, imagens do Docker baseadas em ARM só podem ser executadas em recursos computacionais baseados em ARM.
         + As imagens em repositórios públicos do Amazon ECR usam as convenções de nomenclatura `registry/repository[:tag]` ou `registry/repository[@digest]` completa (por exemplo, `public.ecr.aws/registry_alias/my-web-app:latest`).
         + As imagens em repositórios do Amazon ECR usam as convenções de nomenclatura `registry/repository[:tag]` completa (por exemplo, `aws_account_id.dkr.ecr.region.amazonaws.com``/my-web-app:latest`).
         + Imagens em repositórios oficiais em Docker Hub usam um único nome (por exemplo, `ubuntu` ou `mongo`).
         + Imagens em outros repositórios Docker Hub são qualificadas com um nome de organização (por exemplo, `amazon/amazon-ecs-agent`).
         + Imagens em outros repositórios online também são qualificadas por um nome de domínio (por exemplo, `quay.io/assemblyline/ubuntu`).

      1. (Opcional) Em **Política de Extração de Imagem**, escolha quando as imagens serão puxadas.

      1. (Opcional) Em **Comando**, insira um comando JSON para passar para o contêiner.

      1. (Opcional) Em **Argumentos**, insira argumentos a serem transmitidos ao contêiner. Caso um argumento não seja fornecido, o comando de imagem de contêiner será usado.

   1. (Opcional) Você pode adicionar parâmetros a definição do trabalho como mapeamentos de nome-valor para substituir padrões da definição da tarefa. Para adicionar um parâmetro:

      1. Em **Parâmetros**, insira um par nome-valor e então, escolha **Adicionar Parâmetro**.
**Importante**  
Se escolher **Adicionar Parâmetro**, deverá configurar pelo menos um parâmetro, ou escolher **Remover Parâmetro**

   1. Na seção **Configuração de Ambiente**:

      1. Para **v CPUs**, insira o número de v CPUs a ser reservado para o contêiner. Esse parâmetro é mapeado para `CpuShares` na seção [Criar um Contêiner](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) da [API remota do Docker](https://docs.docker.com/engine/api/v1.38/) e a opção `--cpu-shares` para [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/). Cada vCPU equivale a 1.024 compartilhamentos de CPU. Você deve especificar pelo menos uma vCPU.

      1. Em **Memória**, insira o limite de memória disponível para o contêiner. Caso seu contêiner tente exceder a memória especificada, o mesmo será interrompido. Esse parâmetro é mapeado para `Memory` na seção [Criar um Contêiner](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) da [API Remota Docker](https://docs.docker.com/engine/api/v1.38/) e para a opção `--memory` para [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/). Você deve especificar pelo menos 4 MiB de memória para uma tarefa.
**nota**  
Para maximizar o uso dos recursos, priorize a memória para trabalhos de um tipo específico de instância. Para obter mais informações, consulte [Gerenciamento de memória de recursos de computação](memory-management.md).

   1. (Opcional) Em **Variáveis de Ambiente**, escolha **Adicionar Variável de Ambiente** para adicionar variáveis de ambiente como pares de nome/valor. Essas variáveis serão passadas para o contêiner.

   1. (Opcional) Em **Montagem de Volume**:

      1. Escolha **Adicionar Montagem de Volume**.

      1. Insira um **Nome** e, em seguida, um **Caminho de Montagem** no contêiner onde o volume estiver montado. Insira **SubPath**a para especificar um subcaminho dentro do volume referenciado em vez de sua raiz. 

      1. Escolha **Somente Leitura** para remover permissões de registro no volume.

      1. Escolha **Adicionar Montagem de Volume**.

   1. (Opcional) Em **Executar como Usuário**, insira uma ID de usuário para executar o processo do contêiner.
**nota**  
A ID do usuário deve existir na imagem para que o contêiner seja executado.

   1. (Opcional) Em **Executar como Grupo**, insira uma ID de grupo para executar o tempo de processamento runtime do contêiner.
**nota**  
A ID do grupo deve existir na imagem para que o contêiner seja executado.

   1. (Opcional) Para conceder ao contêiner de trabalho permissões elevadas na instância do host (semelhante ao usuário `root`), arraste o slider **Privilegiado** para a direita. Esse parâmetro é mapeado para `Privileged` na seção [Criar um Contêiner](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) da [API remota do Docker](https://docs.docker.com/engine/api/v1.38/) e a opção `--privileged` para [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/).

   1. (Opcional) Ative o **Sistema de Arquivamento Raiz Somente para Leitura** para remover o acesso de registro ao sistema de arquivamento raiz.

   1. (Opcional) Ative **Executar como Não raiz** para executar contêineres em pod como usuário não raiz.
**nota**  
Caso a **Execução como Não Raiz** esteja ligada, o kubelet valida a imagem em runtime para verificar se a mesma não será executada como UID 0. 

   1. Escolha **Próxima página**.

1. Para a **Revisão de Definição de Tarefa**, revise as etapas de configuração. Se precisar fazer alterações, escolha **Edit** (Editar). Quando terminar, escolha **Criar Definição de Trabalho**.