PodsVerhindern, dass für bestimmte Knoten geplant wird - Amazon EKS

Hilf mit, diese Seite zu verbessern

Möchten Sie zu diesem Benutzerhandbuch beitragen? Scrollen Sie zum Ende dieser Seite und wählen Sie Diese Seite bearbeiten am aus GitHub. Ihre Beiträge werden dazu beitragen, unser Benutzerhandbuch für alle zu verbessern.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

PodsVerhindern, dass für bestimmte Knoten geplant wird

Amazon EKS unterstützt die Konfiguration von Kubernetes Taints über verwaltete Knotengruppen. Taints und Tolerationen arbeiten zusammen, um sicherzustellen, dass Pods nicht auf ungeeigneten Knoten geplant werden. Ein oder mehrere Taints können auf einen Knoten angewendet werden. Dies markiert, dass der Knoten keine Pods akzeptieren sollte, die die Taints nicht tolerieren. Tolerationen werden auf Pods angewendet und erlauben, aber es ist nicht erforderlich, dass die Pods auf Knoten mit übereinstimmenden Taints einplanen. Weitere Informationen zu finden Sie unter Taints and Tolerations (Taints und Toleranzen) in der Kubernetes-Dokumentation.

KubernetesNode Taints können mithilfe von AWS Management Console oder über Amazon EKS API auf neue und bestehende verwaltete Knotengruppen angewendet werden.

  • Informationen zum Erstellen einer Knotengruppe mit einem Taint mithilfe von finden Sie unter AWS Management Console. Erstellen Sie eine verwaltete Knotengruppe für Ihren Cluster

  • Im Folgenden finden Sie ein Beispiel für das Erstellen einer Knotengruppe mit einem Taint mithilfe der 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" } ] }'

Weitere Informationen und Beispiele zur Verwendung finden Sie unter Taint in der Kubernetes-Referenzdokumentation.

Anmerkung
  • Taints können aktualisiert werden, nachdem Sie die Knotengruppe mit dem erstellt haben. UpdateNodegroupConfig API

  • Der Taint-Schlüssel muss mit einem Buchstaben oder einer Zahl beginnen. Es kann Buchstaben, Zahlen, Bindestriche (-), Punkte (.) und Unterstriche (_) enthalten. Er kann bis zu 63 Zeichen lang sein.

  • Optional kann der Taint-Schlüssel mit einem DNS Subdomain-Präfix und einem einzigen beginnen. / Wenn er mit einem DNS Subdomain-Präfix beginnt, kann er 253 Zeichen lang sein.

  • Der Wert ist optional und muss mit einem Buchstaben oder einer Zahl beginnen. Es kann Buchstaben, Zahlen, Bindestriche (-), Punkte (.) und Unterstriche (_) enthalten. Er kann bis zu 63 Zeichen lang sein.

  • Bei direkter Anwendung von Kubernetes oder der AWS Management Console muss der Taint-Effekt NoSchedule, PreferNoSchedule oder NoExecute sein. Wenn Sie das AWS CLI oder verwendenAPI, muss der Taint-Effekt jedoch NO_SCHEDULEPREFER_NO_SCHEDULE, oder sein. NO_EXECUTE

  • Für eine Knotengruppe sind maximal 50 Taints zulässig.

  • Wenn Taints, die mit einer verwalteten Knotengruppe erstellt wurden, manuell von einem Knoten entfernt werden, fügt Amazon die Taints dem Knoten EKS nicht wieder hinzu. Dies gilt auch dann, wenn die Taints in der Konfiguration der verwalteten Knotengruppe angegeben sind.

Sie können den aws eks update-nodegroup-config AWS CLI Befehl verwenden, um Taints für verwaltete Knotengruppen hinzuzufügen, zu entfernen oder zu ersetzen.