

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
<a name="sagemaker-hyperpod-eks-autoscaling-nodepool"></a>

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. `NodePool`Sie 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 wird`NodePool`.

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

1. Sie können die folgende Beispielkonfiguration verwenden.

   Suchen Sie nach `Ready` unter`Conditions`, 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
   ```

1. Wenden Sie den `NodePool` auf Ihren Cluster an:

   ```
   kubectl apply -f nodepool.yaml
   ```

1. Überwachen Sie den `NodePool` Status, um sicherzustellen, dass der `Ready` Zustand im Status auf Folgendes gesetzt ist`True`:

   ```
   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 `NodePool`-Konfiguration festlegen können.


|  Art der Anforderung  |  Zweck  |  Verwenden Sie Werte 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)  |  –  | 