EKSOffres d'emploi Amazon - AWS Batch

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

EKSOffres d'emploi Amazon

Un travail est la plus petite unité de travail dans laquelle il s'agit AWS Batch. Une AWS Batch offre d'emploi sur Amazon EKS est one-to-one mappée vers un Kubernetes pod. Une définition de AWS Batch tâche est un modèle de AWS Batch tâche. Lorsque vous soumettez une AWS Batch tâche, vous faites référence à une définition de tâche, vous ciblez une file d'attente de tâches et vous donnez un nom à une tâche. Dans la définition d'une AWS Batch tâche sur AmazonEKS, le eksPropertiesparamètre définit l'ensemble de paramètres pris en charge par une EKS tâche AWS Batch sur Amazon. Dans une SubmitJobdemande, le eksPropertiesOverrideparamètre permet de remplacer certains paramètres courants. Ainsi, vous pouvez utiliser des modèles de définitions de tâches pour plusieurs tâches. Lorsqu'une tâche est envoyée à votre EKS cluster Amazon, AWS Batch elle la transforme en podspec (Kind: Pod). podspecutilise des AWS Batch paramètres supplémentaires pour garantir que les tâches sont correctement dimensionnées et planifiées. AWS Batch combine des étiquettes et des nuances pour garantir que les tâches ne s'exécutent que sur les nœuds AWS Batch gérés et que les autres pods ne s'exécutent pas sur ces nœuds.

Important
  • Si le hostNetwork paramètre n'est pas défini explicitement dans une définition de EKS tâche Amazon, le mode réseau du pod est AWS Batch défini par défaut sur le mode hôte. Plus précisément, les paramètres suivants sont appliqués : hostNetwork=true etdnsPolicy=ClusterFirstWithHostNet.

  • AWS Batch nettoie les modules de travail peu après qu'un module ait terminé sa tâche. Pour consulter les journaux des applications pod, configurez un service de journalisation pour votre cluster. Pour de plus amples informations, veuillez consulter Utiliser CloudWatch les journaux pour surveiller AWS Batch les tâches Amazon EKS.

Mappez une tâche en cours d'exécution à un pod et à un nœud

Les nodeName paramètres podProperties d'une tâche en cours d'exécution ont été podName définis pour la tentative de tâche en cours. Utilisez l'DescribeJobsAPIopération pour afficher ces paramètres.

Voici un exemple de sortie.

$ aws batch describe-jobs --job 2d044787-c663-4ce6-a6fe-f2baf7e51b04 { "jobs": [ { "status": "RUNNING", "jobArn": "arn:aws:batch:us-east-1:123456789012:job/2d044787-c663-4ce6-a6fe-f2baf7e51b04", "jobDefinition": "arn:aws:batch:us-east-1:123456789012:job-definition/MyJobOnEks_SleepWithRequestsOnly:1", "jobQueue": "arn:aws:batch:us-east-1:123456789012:job-queue/My-Eks-JQ1", "jobId": "2d044787-c663-4ce6-a6fe-f2baf7e51b04", "eksProperties": { "podProperties": { "nodeName": "ip-192-168-55-175.ec2.internal", "containers": [ { "image": "public.ecr.aws/amazonlinux/amazonlinux:2", "resources": { "requests": { "cpu": "1", "memory": "1024Mi" } } } ], "podName": "aws-batch.b0aca953-ba8f-3791-83e2-ed13af39428c" } } } ] }

Pour une tâche pour laquelle les nouvelles tentatives sont activées, la podName fin nodeName de chaque tentative terminée figure dans le paramètre de eksAttempts liste de l'DescribeJobsAPIopération. La podName fin nodeName de la tentative d'exécution en cours se trouve dans l'podPropertiesobjet.

Comment faire correspondre un module en cours d'exécution à sa fonction

Un pod possède des étiquettes qui indiquent le jobId et uuid de l'environnement informatique auquel il appartient. AWS Batch injecte des variables d'environnement afin que l'exécution de la tâche puisse référencer les informations de la tâche. Pour de plus amples informations, veuillez consulter AWS Batch variables d'environnement de travail. Vous pouvez consulter ces informations en exécutant la commande suivante. La sortie est la suivante.

$ kubectl describe pod aws-batch.14638eb9-d218-372d-ba5c-1c9ab9c7f2a1 -n my-aws-batch-namespace Name: aws-batch.14638eb9-d218-372d-ba5c-1c9ab9c7f2a1 Namespace: my-aws-batch-namespace Priority: 0 Node: ip-192-168-45-88.ec2.internal/192.168.45.88 Start Time: Wed, 26 Oct 2022 00:30:48 +0000 Labels: batch.amazonaws.com/compute-environment-uuid=5c19160b-d450-31c9-8454-86cf5b30548f batch.amazonaws.com/job-id=f980f2cf-6309-4c77-a2b2-d83fbba0e9f0 batch.amazonaws.com/node-uid=a4be5c1d-9881-4524-b967-587789094647 ... Status: Running IP: 192.168.45.88 IPs: IP: 192.168.45.88 Containers: default: Image: public.ecr.aws/amazonlinux/amazonlinux:2 ... Environment: AWS_BATCH_JOB_KUBERNETES_NODE_UID: a4be5c1d-9881-4524-b967-587789094647 AWS_BATCH_JOB_ID: f980f2cf-6309-4c77-a2b2-d83fbba0e9f0 AWS_BATCH_JQ_NAME: My-Eks-JQ1 AWS_BATCH_JOB_ATTEMPT: 1 AWS_BATCH_CE_NAME: My-Eks-CE1 ...
Fonctionnalités prises en charge par AWS Batch Amazon EKS Jobs

Voici les fonctionnalités AWS Batch spécifiques qui sont également communes aux Kubernetes tâches exécutées sur Amazon EKS :

KubernetesSecrets et ServiceAccounts

AWS Batch prend en charge le référencement Kubernetes Secrets et. ServiceAccounts Vous pouvez configurer des pods pour utiliser les EKS IAM rôles Amazon pour les comptes de service. Pour plus d'informations, consultez la section Configuration des pods pour utiliser un compte Kubernetes de service dans le guide de EKS l'utilisateur Amazon.