Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Crea un NodePool
NodePool imposta i vincoli sui nodi che possono essere creati da Karpenter e sui pod che possono essere eseguiti su tali nodi. NodePool può essere configurato per:
-
Limitare la creazione di nodi a determinate zone, tipi di istanze e architetture informatiche.
-
Definire le etichette o i taint per limitare i pod che possono essere eseguiti sui nodi creati da Karpenter.
Nota
HyperPod il provider supporta una serie limitata di requisiti noti di Kubernetes e Karpenter spiegati di seguito.
La procedura che segue illustra come creare NodePool.
-
Crea un file YAML denominato nodepool.yaml con la configurazione
NodePooldesiderata. -
Puoi utilizzare la configurazione di esempio seguente.
Cerca
ReadyinConditionsper verificare che tutte le risorse dipendenti funzionino correttamente.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 -
Applica
NodePoolal cluster:kubectl apply -f nodepool.yaml -
Monitora lo stato di
NodePoolper assicurarti che la condizioneReadynello stato sia impostata suTrue: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
Etichette supportate per Karpenter Provider HyperPod
Questi sono i vincoli e i requisiti facoltativi che puoi specificare nella tua configurazione NodePool.
|
Tipo di requisito |
Scopo |
Usa valori Case/Supported |
Raccomandazione |
|---|---|---|---|
|
Tipi di istanza ( |
Controlla i tipi di SageMaker istanza tra cui Karpenter può scegliere |
Invece di limitarti a ml.c5.xlarge, lascia che Karpenter scelga tra tutti i tipi disponibili nei tuoi gruppi di istanze. |
Lascia questo campo indefinito o utilizza l’operatore Exists per dare a Karpenter la massima flessibilità nella scelta di tipi di istanze più convenienti. |
|
Zone di disponibilità ( |
Controlla in quali zone di AWS disponibilità possono essere creati i nodi |
Nomi di zone specifici come us-east-1c. Da utilizzare se i pod devono funzionare in zone specifiche per motivi di latenza o conformità. |
N/A |
|
Architettura ( |
Specifica l’architettura della CPU. |
Solo amd64 (attualmente ARM non è supportato). |
N/A |