Knotenpoolauswahl

Knotenpoolauswahl

Ich habe einen Kubernetes-Cluster mit vielen Knotenpools. Manchmal schlägt die Bereitstellung fehl, weil der von Kubernetes ausgewählte Knotenpool nicht über genügend verfügbare Ressourcen verfügt.

Gibt es eine Möglichkeit, Kubernetes zu zwingen, einen Knotenpool mit der Menge an Ressourcen auszuwählen, die der gesamte Pod-Satz angefordert hat?

Antwort1

Sie können einen Pod so einschränken, dass er nur auf einer bestimmten Gruppe von Knoten ausgeführt werden kann. Hierzu gibt es mehrere Möglichkeiten. Der empfohlene Ansatz ist die Verwendung von Label-Selektoren.

Sie können eine der folgenden Methoden verwenden, um auszuwählen, wo Kubernetes bestimmte Pods plant:

AKnotenselektorGibt eine Zuordnung von Schlüssel-/Wertpaaren an, die mithilfe benutzerdefinierter Bezeichnungen auf in Pods angegebenen Knoten und Selektoren definiert werden.

Damit der Pod auf einem Knoten ausgeführt werden kann, muss der Pod über denselben Schlüssel/Wert-Knotenselektor wie die Bezeichnung auf dem Knoten verfügen.

Hinweis: Sie können einem vorhandenen geplanten Pod keinen Knotenselektor direkt hinzufügen.

nodeSelector ist die einfachste Möglichkeit, Pods auf Knoten mit bestimmten Labels zu beschränken, währendAffinität und Anti-Affinitäterweitert die Arten von Einschränkungen, die Sie definieren können. Die Affinitätsfunktion besteht aus zwei Arten von Affinität:

  • Die Knotenaffinität funktioniert wie das Feld „nodeSelector“, ist jedoch ausdrucksstärker und ermöglicht Ihnen die Angabe weicher Regeln.
  • Mithilfe der Inter-Pod-Affinität/Anti-Affinität können Sie Pods anhand von Labels auf anderen Pods einschränken.

Für den Knotennamen können SieverweisenKlicken Sie auf den Link für weitere Informationen.

Knotenaffinität ist eine Eigenschaft von Pods, die sie zu einer Reihe von Knoten zieht, und wie gesagt wird der Knotenselektor verwendet, um Pods einzuschränken. Sie können also verwendenMakel und Duldungen.

Taints sind das Gegenteil, da sie es einem Knoten ermöglichen, eine Reihe von Pods abzulehnen. Toleranzen werden auf Pods angewendet und ermöglichen es den Pods, Knoten mit passenden Taints zu planen. Taints und Toleranzen arbeiten zusammen, um sicherzustellen, dass Pods nicht auf ungeeigneten Knoten geplant werden. Ein oder mehrere Taints werden auf einen Knoten angewendet. Dies markiert, dass der Knoten alle Pods ablehnen soll, die die Taints nicht tolerieren.

Weitere Informationen finden Sie imLinksfür weitere Informationen zuMakel und Toleranz.

verwandte Informationen