View a markdown version of this page

Création d'une définition de tâche à nœud unique sur les ressources 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.

Création d'une définition de tâche à nœud unique sur les ressources Amazon EKS

Procédez comme suit pour créer une définition de tâche à nœud unique sur Amazon Elastic Kubernetes Service (Amazon EKS).

Pour créer une nouvelle définition de tâche sur les ressources Amazon EKS :
  1. Ouvrez la AWS Batch console à l'adresse https://console.aws.amazon.com/batch/.

  2. Dans la barre de navigation supérieure, choisissez l'option Région AWS à utiliser.

  3. Dans le volet de navigation de gauche, choisissez Définitions de tâches.

  4. Cliquez sur Créer.

  5. Pour le type d'orchestration, choisissez Elastic Kubernetes Service (EKS).

  6. Dans le champ Nom, entrez un nom unique pour votre définition de poste. Le nom peut comporter jusqu'à 128 caractères. Il peut contenir des lettres majuscules et minuscules, des chiffres, des traits d'union (-) et des traits de soulignement (_).

  7. (Facultatif) Pour Execution timeout, entrez la valeur du timeout (en secondes). Le délai d'exécution est la durée qui s'écoule avant qu'une tâche inachevée ne soit terminée. Si une tentative dépasse le délai imparti, elle est arrêtée et passe à un FAILED statut. Pour plus d’informations, consultez Délais d'exécution des tâches. La valeur minimale est 60 secondes.

  8. (Facultatif) Activez la priorité de planification. Entrez une valeur de priorité de planification comprise entre 0 et 100. Les valeurs les plus élevées ont la priorité sur les valeurs inférieures.

  9. (Facultatif) Développez les balises, puis choisissez Ajouter une balise pour ajouter des balises à la ressource.

  10. Choisissez la page suivante.

  11. Dans la section des pod propriétés EKS :

    1. Dans le champ Nom du compte de service, entrez un compte qui fournit une identité pour les processus qui s'exécutent dans unpod.

    2. Activez le réseau hôte pour utiliser le modèle de Kubernetes pod réseau et ouvrir un port d'écoute pour les connexions entrantes. Désactivez ce paramètre pour les communications sortantes uniquement.

    3. Pour la politique DNS, choisissez l'une des options suivantes :

      • Aucune valeur (null)  : pod ignore les paramètres DNS de l'Kubernetesenvironnement.

      • Par défaut : pod hérite de la configuration de résolution des noms du nœud sur lequel il s’exécute.

        Note

        Si aucune politique DNS n’est spécifiée, Valeur par défaut n’est pas la politique DNS par défaut. Au lieu de cela, ClusterFirst est utilisé.

      • ClusterFirst— Toute requête DNS qui ne correspond pas au suffixe de domaine de cluster configuré est transmise au serveur de noms en amont hérité du nœud.

      • ClusterFirstWithHostNet— À utiliser si le réseau hôte est activé.

    4. (Facultatif) Pour Volumes, sélectionnez Ajouter un volume, puis :

      1. Donnez un nom à votre volume.

      2. (Facultatif) Ajoutez le chemin de l'hôte pour le répertoire de l'hôte.

      3. (Facultatif) Ajoutez un support et une limite de taille pour configurer un Kubernetes EmptyDir.

      4. (Facultatif) Indiquez un nom secret pour le module et indiquez si le secret est facultatif.

      5. (Facultatif) Définissez un nom de réclamation pour joindre une réclamation de volume persistant Kubernetes au pod, et indiquez si elle est en lecture seule.

    5. (Facultatif) Pour Image pull secret, entrez le nom du Kubernetes secret dans l'espace de noms où la tâche pod s'exécute. Le secret contient des informations d'identification Kubernetes utilisées pour extraire des images d'un registre privé. Le nom peut comporter jusqu'à 253 caractères. Il peut contenir des lettres minuscules, des chiffres, des tirets (-) et des points (.), et doit commencer et se terminer par une lettre ou un chiffre.

      Important

      Le secret doit exister dans le même espace de noms que celui où la tâche est pod exécutée.

    6. (Facultatif) Dans Namespace, entrez l'Kubernetesespace de noms dans lequel AWS Batch place la tâche. pod Cela peut être différent de l'espace de noms de l'environnement de calcul. Si l'espace de noms fourni ici est différent de l'espace de noms de l'environnement informatique, vous devez configurer des autorisations de contrôle d'accès AWS Batch basé sur les rôles (RBAC) équivalentes dans l'espace de noms des tâches. L'espace de noms peut comporter jusqu'à 63 caractères. Il peut contenir des lettres minuscules, des chiffres et des tirets (-) et doit commencer et se terminer par une lettre ou un chiffre. L'espace de noms ne peut pas être default ou commencer parkube-. Si vous ne spécifiez pas d'espace de noms, AWS Batch utilise l'espace de noms de l'environnement de calcul.

    7. (Facultatif) Pour les étiquettes des modules, choisissez Ajouter des étiquettes des modules, puis entrez une paire nom-valeur. Le préfixe de l'étiquette d'un pod ne peut pas contenir kubernetes.io/k8s.io/, oubatch.amazonaws.com/.

    8. (Facultatif) Pour les annotations du pod, choisissez Ajouter des annotations, puis entrez une paire nom-valeur. Le préfixe d'une annotation de pod ne peut pas contenir kubernetes.io/k8s.io/, oubatch.amazonaws.com/.

    9. Choisissez la page suivante.

  12. Dans la section Configuration du conteneur :

    1. Dans le champ Nom, entrez un nom unique pour le conteneur. Le nom doit commencer par une lettre ou un chiffre et peut comporter jusqu'à 63 caractères. Il peut contenir des lettres majuscules et minuscules, des chiffres et des tirets (-).

    2. Dans Image, choisissez l'Dockerimage à utiliser pour votre travail. Par défaut, les images dans le registre Docker Hub sont disponibles. Vous pouvez également spécifier d'autres référentiels avec repository-url/image:tag. Le nom peut comporter jusqu’à 255 caractères. Il peut contenir des majuscules et des minuscules, des chiffres, des tirets (-), des traits de soulignement (_), deux points (:), des points (.), des barres obliques (/) et des signes dièse (#). Ce paramètre correspond Image à la section Créer un conteneur de l'API Docker Remote et au IMAGE paramètre de docker run

      Note

      L'architecture des images Docker doit correspondre à l'architecture du processeur des ressources de calcul sur lesquelles elles sont planifiées. Par exemple, les images ARM-based Docker ne peuvent être exécutées que sur des ressources de ARM-based calcul.

      • Les images des référentiels publics Amazon ECR utilisent les conventions complètes registry/repository[:tag] ou de registry/repository[@digest] dénomination (par exemple,public.ecr.aws/registry_alias/my-web-app:latest).

      • Les images des référentiels Amazon ECR utilisent la convention de registry/repository[:tag] dénomination complète (par exemple, aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest).

      • Les images dans les référentiels officiels sur Docker Hub utilisent un nom unique (par exemple, ubuntu ou mongo).

      • Les images dans les autres référentiels sur Docker Hub sont qualifiées par un nom d'organisation (par exemple, amazon/amazon-ecs-agent).

      • Les images dans les autres référentiels en ligne sont qualifiées par un nom de domaine (par exemple, quay.io/assemblyline/ubuntu).

    3. (Facultatif) Pour la politique d'extraction d'images, choisissez le moment où les images sont extraites.

    4. (Facultatif) Dans Commande, entrez une JSON commande à transmettre au conteneur.

    5. (Facultatif) Dans la zone Arguments, entrez les arguments à transmettre au conteneur. Si aucun argument n'est fourni, la commande image du conteneur est utilisée.

    6. (Facultatif) Vous pouvez ajouter des paramètres à la définition de tâche sous forme de mappages nom-valeur pour remplacer les valeurs par défaut de la définition de tâche. Pour ajouter un paramètre :

      1. Dans Paramètres, entrez une paire nom-valeur, puis choisissez Ajouter un paramètre.

        Important

        Si vous choisissez Ajouter un paramètre, vous devez configurer au moins un paramètre ou choisir Supprimer le paramètre

    7. Dans la section Configuration de l'environnement :

      1. Pour les vCPU, entrez le nombre de vCPU à réserver pour le conteneur. Ce paramètre correspond à CpuShares dans la section Create a container (Créer un conteneur) de l'API Docker à distance et l'option --cpu-shares correspond à docker run. Chaque processeur virtuel est équivalente à 1 024 parts de processeur. Vous devez spécifier au moins un vCPU.

      2. Pour Mémoire, entrez la limite de mémoire disponible pour le conteneur. Si votre conteneur tente de dépasser la mémoire spécifiée ici, il est arrêté. Ce paramètre correspond à Memory dans la section Create a container (Créer un conteneur) de l'API Docker à distance et l'option --memory correspond à docker run. Vous devez spécifier au moins 4 Mio de mémoire pour une tâche.

        Note

        Pour optimiser l'utilisation de vos ressources, donnez la priorité à la mémoire pour les tâches d'un type d'instance spécifique. Pour plus d’informations, consultez Gestion de la mémoire des ressources informatiques.

    8. (Facultatif) Pour les variables d'environnement, choisissez Ajouter une variable d'environnement pour ajouter des variables d'environnement sous forme de paires nom-valeur. Ces variables sont transmises au conteneur.

    9. (Facultatif) Pour le montage du volume  :

      1. Choisissez Ajouter un support de volume.

      2. Entrez un nom, puis entrez une trajectoire de montage dans le conteneur où le volume est monté. Entrez a SubPath pour spécifier un sous-chemin à l'intérieur du volume référencé au lieu de sa racine.

      3. Choisissez Lecture seule pour supprimer les autorisations d'écriture sur le volume.

      4. Choisissez Ajouter un support de volume.

    10. (Facultatif) Pour Exécuter en tant qu'utilisateur, entrez un ID utilisateur pour exécuter le processus du conteneur.

      Note

      L'ID utilisateur doit exister dans l'image pour que le conteneur puisse être exécuté.

    11. (Facultatif) Pour Exécuter en tant que groupe, entrez un ID de groupe pour exécuter l'exécution du processus de conteneur.

      Note

      L'ID de groupe doit exister dans l'image pour que le conteneur puisse être exécuté.

    12. (Facultatif) Pour accorder des autorisations élevées au conteneur de votre tâche sur l'instance hôte (comme pour l'rootutilisateur), faites glisser le curseur Privileged vers la droite. Ce paramètre correspond à Privileged dans la section Create a container (Créer un conteneur) de l'API Docker à distance et l'option --privileged correspond à docker run.

    13. (Facultatif) Activez le système de fichiers Read-only racine pour supprimer l'accès en écriture au système de fichiers racine.

    14. (Facultatif) Activez Exécuter en tant qu'utilisateur non root pour exécuter les conteneurs en pod tant qu'utilisateur non root.

      Note

      Si l'option Exécuter en tant que non-root est activée, l'image est kubelet validée au moment de l'exécution pour vérifier qu'elle ne s'exécute pas avec l'UID 0.

    15. Choisissez la page suivante.

  13. Pour la révision de la définition des tâches, passez en revue les étapes de configuration. Si vous devez apporter des modifications, choisissez Modifier. Lorsque vous avez terminé, choisissez Créer une définition de poste.