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
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
-
AWS CLI installée et configurée avec les autorisations appropriées.
É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
É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 être
NoSchedule
, ou.PreferNoSchedule
NoExecute
Toutefois, lors de l'utilisation de la AWS CLI ou de l'API, l'effet d'altération doit êtreNO_SCHEDULE
PREFER_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.