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.
Dans cette rubrique, vous allez apprendre à déployer une charge de travail avec une CriticalAddonsOnly
tolérance afin que le mode automatique EKS la planifie sur le pool de system
nœuds.
Le pool de system
nœuds intégré à EKS Auto Mode est conçu pour exécuter des modules complémentaires essentiels sur des instances dédiées. Cette séparation garantit que les composants essentiels disposent de ressources dédiées et sont isolés des charges de travail générales, améliorant ainsi la stabilité et les performances globales du cluster.
Ce guide explique comment déployer des modules complémentaires dans le pool de system
nœuds en utilisant la CriticalAddonsOnly
tolérance et les sélecteurs de nœuds appropriés. En suivant ces étapes, vous pouvez vous assurer que vos applications critiques sont planifiées sur les system
nœuds dédiés, en tirant parti des avantages d'isolation et d'allocation des ressources fournis par la structure de pool de nœuds spécialisée d'EKS Auto Mode.
Le mode automatique EKS possède deux pools de nœuds intégrés : general-purpose
etsystem
. Pour de plus amples informations, veuillez consulter Activer ou désactiver la fonction intégrée NodePools.
L'objectif du pool de system
nœuds est de séparer les modules complémentaires critiques sur différents nœuds. Les nœuds provisionnés par le pool de system
nœuds présentent une empreinte CriticalAddonsOnly
Kubernetes. Kubernetes ne planifiera des pods sur ces nœuds que s'ils disposent d'une tolérance correspondante. Pour plus d'informations, consultez Taints and Tolerations
Prérequis
-
Cluster en mode automatique EKS avec le pool de
system
nœuds intégré activé. Pour plus d’informations, consultez Activer ou désactiver la fonction intégrée NodePools. -
kubectl
installé et configuré. Pour de plus amples informations, veuillez consulter Configuration pour utiliser Amazon EKS.
Procédure
Consultez l'exemple de fichier yaml ci-dessous. Notez les configurations suivantes :
-
nodeSelector
— Cela associe la charge de travail au pool desystem
nœuds intégré. Ce pool de nœuds doit être activé avec l' AWS API. Pour de plus amples informations, veuillez consulter Activer ou désactiver la fonction intégrée NodePools. -
tolerations
— Cette tolérance permet de remédier à l'altération desCriticalAddonsOnly
nœuds du pool desystem
nœuds.
apiVersion: apps/v1
kind: Deployment
metadata:
name: sample-app
spec:
replicas: 3
selector:
matchLabels:
app: sample-app
template:
metadata:
labels:
app: sample-app
spec:
nodeSelector:
karpenter.sh/nodepool: system
tolerations:
- key: "CriticalAddonsOnly"
operator: "Exists"
containers:
- name: app
image: nginx:latest
resources:
requests:
cpu: "500m"
memory: "512Mi"
Pour mettre à jour une charge de travail à exécuter sur le pool de system
nœuds, vous devez :
-
Mettez à jour la charge de travail existante pour ajouter les configurations suivantes décrites ci-dessus :
-
nodeSelector
-
tolerations
-
-
Déployez la charge de travail mise à jour sur votre cluster avec
kubectl apply
Après avoir mis à jour la charge de travail, elle s'exécutera sur des nœuds dédiés.