Impedire Pods non venga pianificato su nodi specifici - Amazon EKS

Aiutaci a migliorare questa pagina

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Vuoi contribuire a questa guida per l'utente? Scegli il GitHub link Modifica questa pagina che si trova nel riquadro destro di ogni pagina. I tuoi contributi contribuiranno a rendere la nostra guida utente migliore per tutti.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Impedire Pods non venga pianificato su nodi specifici

I nodi con processori specializzati, ad esempio GPUs, possono essere più costosi da eseguire rispetto ai nodi eseguiti su macchine più standard. Per questo motivo, potresti voler proteggere tali nodi dall'avere carichi di lavoro che non richiedono l'installazione di hardware speciale su tali nodi. Un modo per farlo è con le macchie.

Amazon EKS supporta la configurazione Kubernetes contaminazioni tramite gruppi di nodi gestiti. Le macchie e le tolleranze collaborano per garantire che Pods non sono programmati su nodi inappropriati. Ad un nodo possono essere applicati uno o più taint. Ciò indica che il nodo non dovrebbe accettarne nessuno Pods che non tollerano le macchie. Le tolleranze vengono applicate a Pods e consentono, ma non richiedono, il Pods per programmare su nodi con macchie corrispondenti. Per ulteriori informazioni, vedete Tinte e tolleranze nella Kubernetes documentazione.

Kubernetes i node taints possono essere applicati a gruppi di nodi gestiti nuovi ed esistenti utilizzando AWS Management Console o tramite l'API Amazon EKS.

  • Per informazioni sulla creazione di un gruppo di nodi con una macchia utilizzando il AWS Management Console, consulta. Crea un gruppo di nodi gestito per il tuo cluster

  • Di seguito è riportato un esempio di creazione di un gruppo di nodi con una macchia utilizzando la AWS CLI:

    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" } ] }'

Per ulteriori informazioni ed esempi di utilizzo, vedete taint in Kubernetes documentazione di riferimento.

Nota
  • I taint possono essere aggiornati dopo aver creato il gruppo di nodi utilizzando l'API UpdateNodegroupConfig.

  • La chiave del taint deve iniziare con una lettera o un numero. Può includere lettere, numeri, trattini (-), punti (.) e trattini bassi (_). Può contenere fino a 63 caratteri.

  • Facoltativamente, la chiave del taint può iniziare con un prefisso di sottodominio DNS e un singolo /. Se inizia con un prefisso di sottodominio DNS, può avere una lunghezza di 253 caratteri.

  • Il valore è facoltativo e deve iniziare con una lettera o un numero. Può includere lettere, numeri, trattini (-), punti (.) e trattini bassi (_). Può contenere fino a 63 caratteri.

  • Quando si utilizza Kubernetes direttamente o il AWS Management Console, l'effetto di contaminazione deve essere NoSchedulePreferNoSchedule, oNoExecute. Tuttavia, quando si utilizza la AWS CLI o l'API, l'effetto contaminante deve essereNO_SCHEDULE, PREFER_NO_SCHEDULE o. NO_EXECUTE

  • Sono consentiti un massimo di 50 taint per un gruppo di nodi.

  • Se le contaminazioni create utilizzando un gruppo di nodi gestito vengono rimosse manualmente da un nodo, Amazon EKS non le aggiunge nuovamente al nodo. Questo è vero anche se i taint sono specificati nella configurazione del gruppo di nodi gestito.

È possibile utilizzare il comando aws eks update-nodegroup-config AWS CLI per aggiungere, rimuovere o sostituire taint per i gruppi di nodi gestiti.