Recette : empêcher la planification des pods sur des nœuds spécifiques - Amazon EKS

Aidez à améliorer cette page

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.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.

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.

Recette : empêcher la planification des pods sur des nœuds spécifiques

Présentation

Les nœuds dotés de processeurs spécialisés, par exemple GPUs, peuvent être plus coûteux à exécuter que les nœuds sur des machines standard. Pour protéger ces nœuds des charges de travail ne nécessitant pas de matériel spécial, vous pouvez utiliser Kubernetes Taints. Des taches marquent les nœuds pour repousser les pods qui ne présentent pas les mêmes tolérances, garantissant ainsi que seules les charges de travail compatibles sont planifiées. Pour plus d'informations, consultez Taints and Tolerations dans la documentation de Kubernetes.

Les altérations de nœuds Kubernetes peuvent être appliquées à des groupes de nœuds gérés nouveaux et existants à l'aide de l'API Amazon EKS ou AWS Management Console via celle-ci. Cette recette explique comment appliquer des altérations aux groupes de nœuds gérés par Amazon EKS à l'aide de la AWS CLI. Pour plus d'informations sur la création d'un groupe de nœuds teinté à l'aide du AWS Management Console, voirCréez un groupe de nœuds gérés pour votre cluster.

Prérequis

Étapes

Étape 1 : créer un groupe de nœuds présentant des taches

Utilisez la aws eks create-nodegroup commande pour créer un nouveau groupe de nœuds gérés présentant des taches. Cet exemple applique une teinte avec une clédedicated, une valeur gpuGroup et un effet. NO_SCHEDULE

aws eks create-nodegroup \ --cli-input-json ' { "clusterName": "my-cluster", "nodegroupName": "node-taints-example", "subnets": [ "subnet-1234567890abcdef0", "subnet-abcdef01234567890", "subnet-021345abcdef67890" ], "nodeRole": "arn:aws: iam::111122223333:role/AmazonEKSNodeRole", "taints": [ { "key": "dedicated", "value": "gpuGroup", "effect": "NO_SCHEDULE" } ] }'

Pour plus d'informations et des exemples, consultez taint dans la documentation de référence de Kubernetes.

Étape 2 : Mettre à jour les taches sur un groupe de nœuds existant

Utilisez la commande AWS eks update-nodegroup-config AWS CLI pour ajouter, supprimer ou remplacer des taches pour les groupes de nœuds gérés.

aws eks update-nodegroup-config --cluster-name my-cluster --nodegroup-name node-taints-example --taints 'removeTaints=[{key=dedicated,value=gpuGroup,effect=NO_SCHEDULE}]'

Remarques

  • Les rejets peuvent être mis à jour après avoir créé le groupe de nœuds à l'aide de l'API UpdateNodegroupConfig.

  • La clé de rejet doit commencer par une lettre ou un chiffre. Il peut contenir des lettres, des chiffres, des traits d'union (-), des points (.) et des traits de soulignement (_). Il peut comporter jusqu'à 63 caractères.

  • Éventuellement, la clé de rejet peut commencer par un préfixe de sous-domaine DNS et un simple /. Si elle commence par un préfixe de sous-domaine DNS, elle peut comporter 253 caractères.

  • La valeur est facultative et doit commencer par une lettre ou un chiffre. Il peut contenir des lettres, des chiffres, des traits d'union (-), des points (.) et des traits de soulignement (_). Il peut comporter jusqu'à 63 caractères.

  • Lorsque vous utilisez Kubernetes directement ou le AWS Management Console, l'effet de teinte doit êtreNoSchedule, ou. PreferNoSchedule NoExecute Toutefois, lors de l'utilisation de la AWS CLI ou de l'API, l'effet d'altération doit être NO_SCHEDULEPREFER_NO_SCHEDULE, ouNO_EXECUTE.

  • Un maximum de 50 rejets est autorisé pour un groupe de nœuds.

  • Si les souillures créées à l'aide d'un groupe de nœuds géré sont supprimées manuellement d'un nœud, Amazon EKS ne les réajoute pas au nœud. Ceci est vrai même si les rejets sont spécifiés dans la configuration du groupe de nœuds gérés.