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.
-
Erstellen Sie eine YAML-Datei mit dem Namen nodepool.yaml mit der gewünschten Konfiguration.
NodePool -
Sie können die folgende Beispielkonfiguration verwenden.
Suchen Sie nach
ReadyunterConditions, 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 -
Wenden Sie den
NodePoolauf Ihren Cluster an:kubectl apply -f nodepool.yaml -
Überwachen Sie den
NodePoolStatus, um sicherzustellen, dass derReadyZustand im Status auf Folgendes gesetzt istTrue:kubectl get nodepool sample-np -oyamlapiVersion: 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 ( |
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 ( |
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 ( |
Spezifiziert die CPU-Architektur |
Nur amd64 (derzeit keine ARM-Unterstützung) |
– |