Créez des nœuds avec Amazon Linux optimisé AMIs - Amazon EKS

Aidez à améliorer cette page

Vous souhaitez contribuer à ce guide de l'utilisateur ? Faites défiler cette page vers le bas et sélectionnez Modifier cette page sur GitHub. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tous.

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éez des nœuds avec Amazon Linux optimisé AMIs

Amazon Linux EKS optimisé pour Amazon AMI est basé sur Amazon Linux 2 (AL2) et Amazon Linux 2023 (AL2023). Elle est configurée pour servir d'image de base aux EKS nœuds Amazon. AMIIl est configuré pour fonctionner avec Amazon EKS et inclut les composants suivants :

  • kubelet

  • AWS IAMAuthentificateur

  • Docker (EKSversion Amazon 1.23 et versions antérieures)

  • containerd

Note
  • Vous pouvez suivre les événements liés à la sécurité ou AL2 à la confidentialité dans le centre de sécurité Amazon Linux ou vous abonner au RSSflux associé. Les événements de sécurité et de confidentialité incluent une présentation du problème, les packages concernés et la manière de mettre à jour vos instances pour résoudre le problème.

  • Avant de déployer un système accéléré ou Arm AMI, passez en revue les informations contenues dans Amazon a EKS optimisé Amazon Linux accéléré AMIs etEKSOptimisé pour Amazon Arm Amazon Linux AMIs.

  • Dans Kubernetes version1.23, vous pouvez utiliser un indicateur bootstrap facultatif pour tester la migration depuis Docker àcontainerd. Pour de plus amples informations, veuillez consulter Testez la migration d'Amazon Linux 2 de Docker vers containerd.

  • Commençant par Kubernetes version1.25, vous ne pourrez plus utiliser les EC2 P2 instances Amazon avec Amazon Linux accéléré EKS optimisé par Amazon AMIs prêt à l'emploi. Ceux-ci AMIs pour Kubernetes les versions 1.25 ou ultérieures prendront en charge les pilotes de NVIDIA 525 série ou ultérieurs, qui sont incompatibles avec les P2 instances. Toutefois, les pilotes de NVIDIA 525 série ou ultérieurs sont compatibles avec les P5 instances P3P4, et. Vous pouvez donc utiliser ces instances avec AMIs le Kubernetes version 1.25 ou ultérieure. Avant que vos EKS clusters Amazon ne soient mis à niveau vers la version1.25, migrez les P2 instances vers P3 et P5 les instances. P4 Vous devez également mettre à jour vos applications de manière proactive pour qu'elles fonctionnent avec les pilotes de la série NVIDIA 525 ou d'une série ultérieure. Nous prévoyons de rétroporter les pilotes de la nouvelle NVIDIA 525 série ou des versions ultérieures vers Kubernetes versions 1.23 et 1.24 fin janvier 2024.

  • Tous les groupes de nœuds gérés nouvellement créés dans des clusters de la version 1.30 ou d'une version plus récente utiliseront automatiquement par défaut AL2 023 comme système d'exploitation du nœud. Auparavant, les nouveaux groupes de nœuds étaient définis par défaut surAL2. Vous pouvez continuer à l'utiliser AL2 en le choisissant comme AMI type lors de la création d'un nouveau groupe de nœuds.

  • Support pour AL2 prendra fin le 30 juin 2025. Pour plus d'informations, consultez Amazon Linux 2 FAQs.

Amazon a EKS optimisé Amazon Linux accéléré AMIs

Note

Amazon EKS Accelerated AMIs basé sur AL2 023 sera disponible ultérieurement. Si vous avez des charges de travail accélérées, vous devez continuer à utiliser le mode AL2 accéléré ou AMI Bottlerocket.

L'EKSaccélérateur Amazon Linux optimisé pour Amazon AMI est basé sur le standard Amazon Linux EKS optimisé pour AmazonAMI. Elle est configurée pour servir d'image facultative aux EKS nœuds Amazon afin de prendre en charge les charges de GPU travail basées sur Inferentia et Trainium.

Outre la AMI configuration standard EKS optimisée d'Amazon, l'accélérateur AMI inclut les éléments suivants :

  • NVIDIA pilotes

  • nvidia-container-runtime

  • AWS Neuron driver

Pour obtenir la liste des derniers composants inclus dans l'accélérateurAMI, consultez les amazon-eks-ami versions du GitHub.

Note
  • L'accélérateur EKS optimisé pour Amazon AMI ne prend en charge que GPU et Inferentia types d'instances basés. Assurez-vous de spécifier ces types d'instances dans votre AWS CloudFormation modèle de nœud. En utilisant l'accélérateur EKS optimisé d'AmazonAMI, vous acceptez le contrat NVIDIA de licence utilisateur final du cloud (EULA).

  • L'EKSaccélérateur optimisé pour Amazon AMI était auparavant appelé Amazon EKS optimisé AMI avec GPU support.

  • Les versions précédentes de l'accélérateur EKS optimisé pour Amazon AMI installaient le nvidia-docker référentiel. Le référentiel n'est plus inclus dans les EKS AMI versions Amazon v20200529 et ultérieures.

Pour activer les charges de travail basées AWS sur Neuron (accélérateur ML)

Pour plus de détails sur les charges de travail de formation et d'inférence à l'aide de Neuron sur AmazonEKS, consultez les références suivantes :

Pour activer les charges de travail GPU basées

La procédure suivante décrit comment exécuter une charge de travail sur une instance GPU basée avec l'accélérateur EKS optimisé pour AmazonAMI.

  1. Une fois que vos GPU nœuds ont rejoint votre cluster, vous devez appliquer le plug-in de NVIDIA périphérique pour Kubernetesen tant que DaemonSet sur votre cluster. vX.X.XRemplacez-le par la s-device-plugin version NVIDIA/k8 de votre choix avant d'exécuter la commande suivante.

    kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/vX.X.X/deployments/static/nvidia-device-plugin.yml
  2. Vous pouvez vérifier que vos nœuds sont allouables à l'GPUsaide de la commande suivante.

    kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu"
Pour déployer un Pod pour vérifier que vos GPU nœuds sont correctement configurés
  1. Créez un fichier nommé nvidia-smi.yaml avec les contenus suivants. Remplacez tag par la balise souhaitée pour nvidia/cuda. Ce manifeste lance un NVIDIA CUDAconteneur qui s'exécute nvidia-smi sur un nœud.

    apiVersion: v1 kind: Pod metadata: name: nvidia-smi spec: restartPolicy: OnFailure containers: - name: nvidia-smi image: nvidia/cuda:tag args: - "nvidia-smi" resources: limits: nvidia.com/gpu: 1
  2. Appliquez le manifeste ci-dessus avec la commande suivante.

    kubectl apply -f nvidia-smi.yaml
  3. Après le Pod a terminé son exécution, consultez ses journaux à l'aide de la commande suivante.

    kubectl logs nvidia-smi

    L'exemple qui suit illustre un résultat.

    Mon Aug 6 20:23:31 20XX +-----------------------------------------------------------------------------+ | NVIDIA-SMI XXX.XX Driver Version: XXX.XX | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:00:1C.0 Off | 0 | | N/A 46C P0 47W / 300W | 0MiB / 16160MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+

EKSOptimisé pour Amazon Arm Amazon Linux AMIs

Les instances Arm permettent de réaliser d'importantes économies en termes de scale-out et Armapplications basées sur des serveurs Web, des microservices conteneurisés, des flottes de mise en cache et des magasins de données distribués. Lors de l'ajout Arm nœuds de votre cluster, passez en revue les considérations suivantes.

Considérations
  • Si votre cluster a été déployé avant le 17 août 2020, vous devez effectuer une mise à niveau unique des manifestes des modules complémentaires critiques du cluster. C'est pour que Kubernetes peut extraire l'image correcte pour chaque architecture matérielle utilisée dans votre cluster. Pour plus d'informations sur la mise à jour des modules complémentaires de clusters, consultez Mettez à jour le Kubernetes version pour votre EKS cluster Amazon. Si vous avez déployé votre cluster le 17 août 2020 ou après cette date, votre CoreDNS,kube-proxy, et Amazon VPC CNI plugin for Kubernetes les modules complémentaires sont déjà compatibles avec plusieurs architectures.

  • Applications déployées sur Arm les nœuds doivent être compilés pour Arm.

  • Si vous avez DaemonSets qui sont déployés dans un cluster existant, ou vous souhaitez les déployer sur un nouveau cluster que vous souhaitez également déployer Arm nœuds, puis vérifiez que votre DaemonSet peut fonctionner sur toutes les architectures matérielles de votre cluster.

  • Tu peux courir Arm groupes de nœuds et groupes de nœuds x86 dans le même cluster. Si c'est le cas, envisagez de déployer des images de conteneurs à architectures multiples dans un référentiel de conteneurs tel qu'Amazon Elastic Container Registry, puis d'ajouter des sélecteurs de nœuds à vos manifestes afin que Kubernetes sait quelle architecture matérielle est Pod peut être déployé sur. Pour plus d'informations, consultez la section Propulser une image multi-architecture dans le guide de ECR l'utilisateur Amazon et le billet de ECR blog Introducing multi-architecture container images for Amazon.

En savoir plus

Pour plus d'informations sur l'utilisation d'Amazon Linux EKS optimisé pour AmazonAMIs, consultez les sections suivantes :