View a markdown version of this page

Environnements de calcul Amazon EKS - 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.

Environnements de calcul Amazon EKS

Commencer à utiliser AWS Batch sur Amazon EKSfournit un petit guide pour créer des environnements de calcul EKS. Cette section fournit plus de détails sur les environnements de calcul Amazon EKS.

Schéma d'architecture montrant la AWS Batch soumission de tâches Amazon ECS et de Amazon EKS clusters.

AWS Batch simplifie vos charges de travail par lots sur les clusters Amazon EKS en fournissant des fonctionnalités de gestion des lots. Cela inclut la mise en file d'attente, le suivi des dépendances, la gestion des nouvelles tentatives et des priorités des tâches, la gestion des pods et la mise à l'échelle des nœuds. AWS Batch peut gérer plusieurs zones de disponibilité et plusieurs types et tailles d'instances Amazon EC2. AWS Batch intègre plusieurs des meilleures pratiques Amazon EC2 Spot pour exécuter vos charges de travail de manière tolérante aux pannes, ce qui permet de réduire les interruptions. Vous pouvez AWS Batch gérer une poignée de tâches du jour au lendemain ou des millions de tâches critiques en toute confiance.

AWS Batch architecture montrant la soumission des tâches, EKS cluster avec groupes de nœuds gérés et instances EC2 Spot.

AWS Batch est un service géré qui orchestre les charges de travail par lots dans vos Kubernetes clusters gérés par Amazon Elastic Kubernetes Service (Amazon EKS). AWS Batch effectue cette orchestration en dehors de vos clusters à l'aide d'un modèle de « superposition ». Comme il AWS Batch s'agit d'un service géré, il n'y a aucun Kubernetes composant (par exemple, des opérateurs ou des ressources personnalisées) à installer ou à gérer dans votre cluster. AWS Batch nécessite uniquement que votre cluster soit configuré avec des contrôles Role-Based d'accès (RBAC) qui permettent AWS Batch de communiquer avec le serveur Kubernetes API. AWS Batch appelle Kubernetes des API pour créer, surveiller et supprimer Kubernetes des pods et des nœuds.

AWS Batch dispose d'une logique de dimensionnement intégrée pour dimensionner Kubernetes les nœuds en fonction de la charge de la file d'attente des tâches avec des optimisations en termes d'allocation de capacité de travail. Lorsque la file d'attente des tâches est AWS Batch vide, réduisez les nœuds à la capacité minimale que vous définissez, qui est zéro par défaut. AWS Batch gère le cycle de vie complet de ces nœuds et les décore avec des étiquettes et des couleurs. De cette façon, les autres Kubernetes charges de travail ne sont pas placées sur les nœuds gérés par AWS Batch. À l'exception de cette règleDaemonSets, il est possible de cibler des AWS Batch nœuds pour fournir une surveillance et d'autres fonctionnalités nécessaires à la bonne exécution des tâches. En outre, AWS Batch n'exécute pas de tâches, en particulier de pods, sur les nœuds de votre cluster qu'il ne gère pas. De cette façon, vous pouvez utiliser une logique de dimensionnement et des services distincts pour les autres applications du cluster.

Pour soumettre des offres d'emploi AWS Batch, vous interagissez directement avec l' AWS Batch API. AWS Batch traduit les tâches en tâches, podspecs puis crée les demandes pour placer des pods sur des nœuds gérés par AWS Batch votre cluster Amazon EKS. Vous pouvez utiliser des outils tels que kubectl pour afficher les pods et les nœuds en cours d'exécution. Lorsqu'un module a terminé son exécution, AWS Batch supprime le module qu'il a créé pour maintenir une charge plus faible sur le Kubernetes système.

Vous pouvez commencer par connecter un cluster Amazon EKS valide à AWS Batch. Attachez-y ensuite une file d'attente de AWS Batch tâches et enregistrez une définition de tâche Amazon EKS en utilisant des attributs podspec équivalents. Enfin, soumettez les tâches à l'aide de l'opération d'SubmitJobAPI faisant référence à la définition de la tâche. Pour de plus amples informations, veuillez consulter Commencer à utiliser AWS Batch sur Amazon EKS.

AWS Batch sur Amazon EKS prend en charge les instances Amazon EC2 (On-Demand et Spot) en tant que ressources de calcul. Pour utiliser Fargate avec AWS Batch, utilisez plutôt un environnement de calcul Amazon ECS. Pour de plus amples informations, veuillez consulter Environnements informatiques Fargate.

Amazon EKS