Erstellen Sie eine NodePool - Amazon SageMaker KI

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.

Erstellen Sie eine NodePool

Das NodePool legt Einschränkungen für die Knoten fest, die von Karpenter erstellt werden können, und für die Pods, die auf diesen Knoten ausgeführt werden können. NodePoolSie können so konfiguriert werden, dass sie Dinge tun wie:

  • Beschränken Sie die Knotenerstellung auf bestimmte Zonen, Instance-Typen und Computerarchitekturen.

  • Definieren Sie Labels oder Taints, um die Anzahl der Pods zu begrenzen, die auf den von Karpenter erstellten Knoten ausgeführt werden können.

Anmerkung

HyperPod Der Anbieter unterstützt eine begrenzte Anzahl bekannter Kubernetes- und Karpenteranforderungen, die im Folgenden erläutert werden.

In den folgenden Schritten wird erklärt, wie eine erstellt wirdNodePool.

  1. Erstellen Sie eine YAML-Datei mit dem Namen nodepool.yaml mit der gewünschten Konfiguration. NodePool

  2. Sie können die folgende Beispielkonfiguration verwenden.

    Suchen Sie nach Ready unterConditions, um anzuzeigen, dass alle abhängigen Ressourcen ordnungsgemäß funktionieren.

    apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: sample-np spec: template: spec: nodeClassRef: group: karpenter.sagemaker.amazonaws.com kind: HyperpodNodeClass name: multiazc5 expireAfter: Never requirements: - key: node.kubernetes.io/instance-type operator: Exists
  3. Wenden Sie den NodePool auf Ihren Cluster an:

    kubectl apply -f nodepool.yaml
  4. Überwachen Sie den NodePool Status, um sicherzustellen, dass der Ready Zustand im Status auf Folgendes gesetzt istTrue:

    kubectl get nodepool sample-np -oyaml
    apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: <nodepool-name> uid: <resource-uid> ... spec: disruption: budgets: - nodes: 90% consolidateAfter: 0s consolidationPolicy: WhenEmptyOrUnderutilized template: spec: expireAfter: 720h nodeClassRef: group: karpenter.sagemaker.amazonaws.com kind: HyperpodNodeClass name: <nodeclass-name> requirements: - key: node.kubernetes.io/instance-type operator: Exists status: conditions: - lastTransitionTime: "<timestamp>" message: "" observedGeneration: 2 reason: ValidationSucceeded status: "True" type: ValidationSucceeded - lastTransitionTime: "<timestamp>" message: "" observedGeneration: 2 reason: NodeClassReady status: "True" type: NodeClassReady - lastTransitionTime: "<timestamp>" message: "" observedGeneration: 2 reason: Ready status: "True" type: Ready

Unterstützte Labels für Karpenter Provider HyperPod

Dies sind die optionalen Einschränkungen und Anforderungen, die Sie in Ihrer Konfiguration angeben können. NodePool

Art der Anforderung

Zweck

Werte verwenden Case/Supported

Empfehlung

Instance-Typen (node.kubernetes.io/instance-type)

Steuert, SageMaker aus welchen Instanztypen Karpenter wählen kann

Anstatt sich nur auf ml.c5.xlarge zu beschränken, lassen Sie Karpenter aus allen verfügbaren Typen in Ihren Instance-Gruppen auswählen

Lassen Sie diesen Wert undefiniert oder verwenden Sie den Exists-Operator, um Karpenter maximale Flexibilität bei der Auswahl kostengünstiger Instance-Typen zu bieten

Availability Zones (topology.kubernetes.io/zone)

Steuert, AWS in welchen Verfügbarkeitszonen Knoten erstellt werden können

Spezifische Zonennamen wie us-east-1c. Verwenden Sie diese Option, wenn Pods aus Latenz- oder Compliance-Gründen in bestimmten Zonen ausgeführt werden müssen

Architektur (kubernetes.io/arch)

Spezifiziert die CPU-Architektur

Nur amd64 (derzeit keine ARM-Unterstützung)